[Lazarus] Need help on windows Lazarus build
davy zhang
davyzhang at gmail.com
Fri Aug 1 21:00:59 CEST 2008
thanks so much for your response and cfg file!
You just read my mind, I'll try to use nightly build~
and I'll try to build the Lazarus later, for me this is really a challenge :)
2008/8/1 Martin Friebe <lazarus at mfriebe.de>:
> Hi,
>
> Not a direct answer to your question, but if your main interest is to have
> the latest lazarus, you don't necessarily need fpc from svn. You could
> download and install a nightly build (Lazarus + FPC), *and* have an svn
> checkout of Lazarus. The svn Lazarus, can then use the fpc from the nightly
> build install.
> If you choose an install with fpc 2.2.3, you will have to upgrade every
> couple of weeks, but that's just installing the new nightly build. If you
> copy the fpc directory, then you must edit the fpc.cfg (There will be an
> existing one)
>
>
> Otherwhise I attached an fpc.cfg file (for version 2.2.0), it setuip for an
> install path of c:\lazarus\fpc\2.2.2, but you can edit this.
>
> regards
> Martin
>
>
> davy zhang wrote:
>>
>> windows xp
>>
>> I've checked out all the trunk src from svn
>>
>> and I followed the instructions on
>> :http://wiki.lazarus.freepascal.org/index.php/Getting_Lazarus
>>
>> I get lost on this step:
>>
>> # From the C:\lazarus\tools\install\win32 directory copy the file
>> 'samplefpc.cfg' to the C:\lazarus\pp\bin\i386-win32 directory and
>> rename it to fpc.cfg (first delete/rename the old fpc version).
>> # Edit this file and replace all occurencies of '$1' by 'C:\lazarus\pp'.
>>
>> I can't find the samplefpc.cfg
>>
>> sorry I'm new to open source project, i don't know how to build the
>> src code into a solid executable file in this way.
>>
>> usually I worked with Delphi project files
>> _______________________________________________
>> Lazarus mailing list
>> Lazarus at lazarus.freepascal.org
>> http://www.lazarus.freepascal.org/mailman/listinfo/lazarus
>>
>
> #
> # Config file generated by fpcmkcfg on 27/06/2008 - 12:25:20
> # Example fpc.cfg for Free Pascal Compiler
> #
>
> # ----------------------
> # Defines (preprocessor)
> # ----------------------
>
> #
> # nested #IFNDEF, #IFDEF, #ENDIF, #ELSE, #DEFINE, #UNDEF are allowed
> #
> # -d is the same as #DEFINE
> # -u is the same as #UNDEF
> #
>
> #
> # Some examples (for switches see below, and the -? helppages)
> #
> # Try compiling with the -dRELEASE or -dDEBUG on the commandline
> #
>
> # For a release compile with optimizes and strip debuginfo
> #IFDEF RELEASE
> -O2
> -Xs
> #WRITE Compiling Release Version
> #ENDIF
>
> # For a debug version compile with debuginfo and all codegeneration checks
> on
> #IFDEF DEBUG
> -glh
> -Crtoi
> #WRITE Compiling Debug Version
> #ENDIF
>
> # ----------------
> # Parsing switches
> # ----------------
>
> # Pascal language mode
> # -Mfpc free pascal dialect (default)
> # -Mobjfpc switch some Delphi 2 extensions on
> # -Mdelphi tries to be Delphi compatible
> # -Mtp tries to be TP/BP 7.0 compatible
> # -Mgpc tries to be gpc compatible
> # -Mmacpas tries to be compatible to the macintosh pascal dialects
> #
> # Turn on Object Pascal extensions by default
> #-Mobjfpc
>
> # Assembler reader mode
> # -Rdefault use default assembler
> # -Ratt read AT&T style assembler
> # -Rintel read Intel style assembler
> #
> # All assembler blocks are AT&T styled by default
> #-Ratt
>
> # Semantic checking
> # -S2 same as -Mobjfpc
> # -Sc supports operators like C (*=,+=,/= and -=)
> # -Sa include assertion code.
> # -Sd same as -Mdelphi
> # -Se<x> compiler stops after the <x> errors (default is 1)
> # -Sg allow LABEL and GOTO
> # -Sh Use ansistrings
> # -Si support C++ styled INLINE
> # -SI<x> set interface style to <x>
> # -SIcomCOM compatible interface (default)
> # -SIcorbaCORBA compatible interface
> # -Sm support macros like C (global)
> # -So same as -Mtp
> # -Sp same as -Mgpc
> # -Ss constructor name must be init (destructor must be done)
> # -St allow static keyword in objects
> #
> # Allow goto, inline, C-operators, C-vars
> -Sgic
>
> # ---------------
> # Code generation
> # ---------------
>
> # Uncomment the next line if you always want static/dynamic units by default
> # (can be overruled with -CD, -CS at the commandline)
> #-CS
> #-CD
>
> # Set the default heapsize to 8Mb
> #-Ch8000000
>
> # Set default codegeneration checks (iocheck, overflow, range, stack)
> #-Ci
> #-Co
> #-Cr
> #-Ct
>
> # Optimizer switches for i386 compiler
> # -Os generate smaller code
> # -O1 level 1 optimizations (quick optimizations)
> # -O2 level 2 optimizations (-O1 + slower optimizations)
> # -O3 level 3 optimizations (same as -O2u)
> # -Oa=N set alignment to N
> # -OoX switch on optimalization X.
> # -OoNOX switch off optimalization X.
> # X is one of REGVAR UNCERTAIN STACKFRAME PEEPHOLE ASMCSE
> LOOPUNROLL
> # -OpCPU set target processor.
> # CPU is one of 386, PENTIUM, PENTIUM2, PENTIUM3, PENTIUM4,
> PENTIUMM
>
>
> # -----------------------
> # Set Filenames and Paths
> # -----------------------
>
> # Both slashes and backslashes are allowed in paths
>
> # path to the messagefile, not necessary anymore but can be used to override
> # the default language
> #-Frc:\lazarus\fpc\2.2.2/msg/errore.msg
> #-Frc:\lazarus\fpc\2.2.2/msg/errorn.msg
> #-Frc:\lazarus\fpc\2.2.2/msg/errores.msg
> #-Frc:\lazarus\fpc\2.2.2/msg/errord.msg
> #-Frc:\lazarus\fpc\2.2.2/msg/errorr.msg
>
> # path to the gcclib
> #-Flc:\lazarus\fpc\2.2.2/lib
>
> # searchpath for includefiles
> #-Fi/pp/inc;/pp/rtl/inc
>
> # searchpath for includefiles
> # release them only if you know what you do
> # because this could cause a rebuild of the runtime library
> # if you tell them compiler/ide to build the project (FK)
> #-Fic:\lazarus\fpc\2.2.2/source/rtl/inc;c:\lazarus\fpc\2.2.2/source/rtl/i386
>
> # searchpath for objectfiles
> #-Foc:\lazarus\fpc\2.2.2/source/rtl/inc;c:\lazarus\fpc\2.2.2/source/rtl/i386
>
> #IFDEF FPCAPACHE_1_13
> -Fuc:\lazarus\fpc\2.2.2/units/$FPCTARGET/httpd-1.3/
> #ELSE
> #IFDEF FPCAPACHE_2_0
> -Fuc:\lazarus\fpc\2.2.2/units/$FPCTARGET/httpd-2.0
> #ELSE
> -Fuc:\lazarus\fpc\2.2.2/units/$FPCTARGET/httpd-2.2
> #ENDIF
> #ENDIF
>
> # searchpath for units and other system dependent things
> -Fuc:\lazarus\fpc\2.2.2/units/$FPCTARGET/
> -Fuc:\lazarus\fpc\2.2.2/units/$FPCTARGET/*
> -Fuc:\lazarus\fpc\2.2.2/units/$FPCTARGET/rtl
>
> # searchpath for libraries
> #-Flc:\lazarus\fpc\2.2.2/lib
> #-Fl/lib;/usr/lib
>
> # searchpath for tools
> -FDc:\lazarus\fpc\2.2.2/bin/$FPCTARGET
>
> # binutils prefix for cross compiling
> #IFDEF FPC_CROSSCOMPILING
> -XP$FPCTARGET-
> #ENDIF
>
>
> # -------------
> # Linking
> # -------------
>
> # generate always debugging information for GDB (slows down the compiling
> # process)
> # -gc generate checks for pointers
> # -gd use dbx
> # -gg use gsym
> # -gh use heap trace unit (for memory leak debugging)
> # -gl use line info unit to show more info for backtraces
> # -gv generates programs tracable with valgrind
> # -gw generate dwarf debugging info
> #
> # Enable debuginfo and use the line info unit by default
> #-gl
>
> # always pass an option to the linker
> #-k-s
>
> # Always strip debuginfo from the executable
> -Xs
>
>
> # -------------
> # Miscellaneous
> # -------------
>
> # Write always a nice FPC logo ;)
> -l
>
> # Verbosity
> # e : Show errors (default) d : Show debug info
> # w : Show warnings u : Show unit info
> # n : Show notes t : Show tried/used files
> # h : Show hints m : Show defined macros
> # i : Show general info p : Show compiled procedures
> # l : Show linenumbers c : Show conditionals
> # a : Show everything 0 : Show nothing (except errors)
> # b : Show all procedure r : Rhide/GCC compatibility mode
> # declarations if an error x : Executable info (Win32 only)
> # occurs
> #
> # Display Info, Warnings, Notes and Hints
> -viwn
> # If you don't want so much verbosity use
> #-vw
>
> _______________________________________________
> Lazarus mailing list
> Lazarus at lazarus.freepascal.org
> http://www.lazarus.freepascal.org/mailman/listinfo/lazarus
>
>
More information about the Lazarus
mailing list