I am fighting another issue that I cannot figure out. I am working with an IDE instance (FPC trunk and Lazarus trunk) that is loaded using a custom config directory. I am using some batch files I rolled by hand. I have attached them. I pass in parameters from shortcuts so that I can work with multiple source bases of both FPC and Lazarus. Maybe there is something I am doing that louses things up.
Anyway, I would think if the rebuild of lazarus.exe was not successful that I would get an error code and Lazarus wouldn't terminate. However, it does terminate with no apparent failure to compile or link the new EXE, but no EXE is produced that I can find.
Is it possible to avoid using the IDE and just do a rebuild of it purely from the command-line? I would like this to include all of the packages that are to be loaded into the IDE as well as to be able to build the IDE in debug mode so that I can trace into the Lazarus and FPC sources.
I've spend hours searching for helpful articles on this but I'm at a wall I could use some help getting over.
Here is the batch file MakeFPC.bat:
@echo off
set fpc_version=%~1
Echo Running build script for Free Pascal Compiler: %fpc_version%
set myroot=%~dp0
Echo Root: %myroot%
set myFPC=%myroot%fpc\%fpc_version%
Echo FPC Root: %myFPC%
set mybinutils=%myroot%binutils
Echo BinUtils: %mybinutils%
set PATH=%mybinutils%\i386-win32_%fpc_version%;%myFPC%\bin\i386-win32_%fpc_version%;%PATH%
cd %myFPC%
#Pause
rd /s /q %myfpc%\examples
svn cleanup . --remove-unversioned --remove-ignored
make distclean all install INSTALL_PREFIX=%myFPC% PP=%mybinutils%\ppc386.exe DATA2INC=%myFPC%\utils\data2inc.exe
make all OS_TARGET=win64 CPU_TARGET=x86_64 INSTALL_PREFIX=%myFPC% PP=%mybinutils%\ppc386.exe DATA2INC=%myFPC%\utils\data2inc.exe
make crossinstall OS_TARGET=win64 CPU_TARGET=x86_64 INSTALL_PREFIX=%myFPC% PP=%mybinutils%\ppc386.exe DATA2INC=%myFPC%\utils\data2inc.exe
cd /d %myFPC%\bin\i386-win32
del fpc.cfg
fpcmkcfg -d basepath=%myFPC% -o .\fpc.cfg
copy fpc.exe %mybinutils%\i386-win32
Here is batch file MakeLaz.bat:
@echo off
set laz_version=%~1
Echo Running build script for Lazarus: %laz_version%
set target_platform=i386-win32
Echo Target Platform: %target_platform%
set myroot=%~dp0
Echo Root: %myroot%
set fpc_version=3.0.4
if "%laz_version%"=="trunk" set fpc_version=trunk
Echo FPC Version: %fpc_version%
set myFPC=%myroot%fpc\%fpc_version%
Echo FPC Root: %myFPC%
set mybinutils=%myroot%binutils
Echo BinUtils: %mybinutils%
set PathPrefix=%mybinutils%\%target_platform%_%fpc_version%;%myFPC%\bin\%target_platform%;%myroot%binutils\%target_platform%_%fpc_version%
set PATH=%PathPrefix%;%PATH%
Echo PathPrefix: %PathPrefix%
cd %myroot%lazarus\%laz_version%
echo --------------------------------------------
echo Path=%PATH%
echo --------------------------------------------
make clean all OPT="-glw2 -Xg"
Here is the batch file StartLaz.bat:
@echo off
set laz_version=%~1
set laz_config=%~2
set myroot=%~dp0
Echo Starting Lazarus: %laz_version%
Echo Config: %laz_config%
Echo RootDir: %myroot%
cd %myroot%
lazarus\%laz_version%\startlazarus --pcp=laz_config\%laz_config%
Thanks,
Jason Wharton
www.ibobjects.com