[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