Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / fpc-pascal / 2011-05

What is the syntax for generating fpc.cfg from a new compiler stored at location xxxx with fpcmkcfg ?

5 messages · 3 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Frank Church

I am currently generating my fpc.cfg in the build script with this command

mkdir -p ${FPC_SETTINGS_DIR}

${FPC_INSTALL_DIR}/lib/fpc/${FPCVER}/samplecfg ${FPC_INSTALL_DIR}/lib/fpc/${FPCVER} ${FPC_SETTINGS_DIR} cp ${FPC_SETTINGS_DIR}/fpc.cfg ${HOMEDIR}/.fpc.cfg

based on (with some new modifications) my script blogged at http://devblog.brahmancreations.com/content/build-scripts-for-installing-freepascal-and-lazarus-from-source .

It looks like it will be better if the samplecfg uses the fpcmkcfg created with the new build. Has it been updated since the 2005 date it was created?

How does the normal installation script create the proper fpc.cfg?

Frank Church ======================= http://devblog.brahmancreations.com

Reply by email

Jonas Maebe
to Frank Church
Frank Church wrote
It looks like it will be better if the samplecfg uses the fpcmkcfg created with the new build.

The intention for FPC trunk is to replace samplecfg with fpcmkcfg

Has it been updated since the 2005 date it was created?

I'm not sure what you mean by "it": samplecfg or fpcmkcfg. In any case, both have been updated several times, and quite a bit of work has gone into updating fpcmkcfg for Unix platforms a couple of months ago.

How does the normal installation script create the proper fpc.cfg?

Search for samplecfg in
* http://svn.freepascal.org/svn/fpcbuild/trunk/install/debian/rules
* http://svn.freepascal.org/svn/fpcbuild/trunk/install/install.sh
* http://svn.freepascal.org/svn/fpcbuild/trunk/install/fpc.spec

Jonas

Reply by email

Marco van de Voort
to Frank Church: I am currently generating my fpc.cfg in the build script with this command mkdir -p…

In our previous episode, Frank Church said:

It looks like it will be better if the samplecfg uses the fpcmkcfg created with the new build. Has it been updated since the 2005 date it was created?

See SVN log? Note that the upcoming 2.4.4 is roughly the state of March 1st, and will thus use r16722. This means that the recent fpcmkcfg related heavy changes are for 2.6.0 and must still be tested under all circumstances.

The old samplecfg contains a fpc.cfg template where some lines are substituted with variables. It also receives some parameters from the installer script. This means that e.g. determining the base directory is done in the installer script (which does an uname test to check the OS), or when run from debian/rpm packaging the value is obtained from the package system.

The scripts you quote scripts need manual editing, the idea is that samplecfg doesn't. (and gets its input via parameters)

------------------------------------------------------------------------ r17190 | joost | 2011-03-27 14:29:32 +0200 (Sun, 27 Mar 2011) | 1 line

* samplecfg now also creates fppkg configuration files ------------------------------------------------------------------------ r17185 | joost | 2011-03-26 21:48:31 +0100 (Sat, 26 Mar 2011) | 1 line

* Do not use scripts, but let fpcmkcfg create eventual parent directories ------------------------------------------------------------------------ r17183 | joost | 2011-03-26 18:32:52 +0100 (Sat, 26 Mar 2011) | 1 line

* Do not create a backup, fpcmkcfg does this already ------------------------------------------------------------------------ r17148 | joost | 2011-03-19 23:09:47 +0100 (Sat, 19 Mar 2011) | 1 line

* Samplecfg now uses fpcmkcfg to create the configuration files ------------------------------------------------------------------------ r16722 | joost | 2011-01-06 15:42:57 +0100 (Thu, 06 Jan 2011) | 2 lines

* Fixed the order in which the httpd-units are searched for (bug 18405)

------------------------------------------------------------------------ r14630 | jonas | 2010-01-12 21:25:28 +0100 (Tue, 12 Jan 2010) | 5 lines

* fixed search path for httpd units in fpc.cft & fpccfg.inc (mantis #15501)
- removed "include path search paths" from default configs, since they don't make sense anymore nowadays

------------------------------------------------------------------------ r14569 | paul | 2010-01-07 20:02:09 +0100 (Thu, 07 Jan 2010) | 5 lines

compiler: 'static' keyword:
- deprecate -St compiler switch
- remove $STATIC directive
- unconditionally enable 'static' keyword usage
- adopt tests, samplecfg, fpc.cft, error messages
------------------------------------------------------------------------ r14524 | jonas | 2010-01-02 18:27:03 +0100 (Sat, 02 Jan 2010) | 2 lines

* fixed in case fpc is installed under a path containing spaces

------------------------------------------------------------------------ r14227 | jonas | 2009-11-20 14:20:01 +0100 (Fri, 20 Nov 2009) | 3 lines

* use pipes instead of temporary files by default for assembling under Darwin

------------------------------------------------------------------------ r14226 | jonas | 2009-11-20 14:07:45 +0100 (Fri, 20 Nov 2009) | 3 lines

* set default cpu type to pentiumm for darwin/i386 (since the first Macs with an Intel cpu had a Core Solo)

------------------------------------------------------------------------ r12714 | hajny | 2009-02-08 02:00:02 +0100 (Sun, 08 Feb 2009) | 1 line

* -Ratt removed from default fp.cfg - it is not necessary and makes troubles under sparc ------------------------------------------------------------------------ r12625 | jonas | 2009-01-29 11:10:18 +0100 (Thu, 29 Jan 2009) | 2 lines

* fixed paths to http units (mantis #13065)

------------------------------------------------------------------------ r12554 | hajny | 2009-01-17 10:55:25 +0100 (Sat, 17 Jan 2009) | 1 line

* additional safeguards - double quotes around environment variables plus avoid checking for $fpcfgfile and $fpinifile if no $FPBIN found ------------------------------------------------------------------------ r12552 | joost | 2009-01-16 17:53:27 +0100 (Fri, 16 Jan 2009) | 1 line

* Fixed script
------------------------------------------------------------------------ r12536 | hajny | 2009-01-11 00:42:03 +0100 (Sun, 11 Jan 2009) | 1 line

* fix for potential security issue with ~/.fp directory owned by root ------------------------------------------------------------------------ r12490 | joost | 2009-01-03 18:27:47 +0100 (Sat, 03 Jan 2009) | 1 line

* Use a single = to compare string values
------------------------------------------------------------------------ r12476 | joost | 2009-01-02 21:54:13 +0100 (Fri, 02 Jan 2009) | 1 line

* Use version number without rc-suffix in the fp base dir ------------------------------------------------------------------------ r12468 | joost | 2009-01-02 11:36:42 +0100 (Fri, 02 Jan 2009) | 1 line

* Removed Oppentium3 compiler flag from default ide configuration files because the flag is not valid on all platforms ------------------------------------------------------------------------ r12465 | joost | 2009-01-02 00:46:43 +0100 (Fri, 02 Jan 2009) | 2 lines

* If the local-configuration directory is used and does not exist, attempt to create it
* Removed a hard-coded reference to the fpcdir
------------------------------------------------------------------------ r12457 | hajny | 2008-12-30 03:05:07 +0100 (Tue, 30 Dec 2008) | 1 line

+ samplecfg able to create default configuration for IDE now ------------------------------------------------------------------------ r11475 | florian | 2008-07-28 17:56:23 +0200 (Mon, 28 Jul 2008) | 2 lines

* properties properly set

------------------------------------------------------------------------ r11247 | tom_at_work | 2008-06-19 21:29:52 +0200 (Thu, 19 Jun 2008) | 1 line

* sample configuration script generates powerpc* multiarch library load path configuration ------------------------------------------------------------------------ r11194 | michael | 2008-06-04 20:04:54 +0200 (Wed, 04 Jun 2008) | 1 line

* Fixed error in line 56, preventing backup
------------------------------------------------------------------------ r9614 | michael | 2008-01-02 14:18:05 +0100 (Wed, 02 Jan 2008) | 1 line

It is of course apache 1.3, not 1.13
------------------------------------------------------------------------ r9613 | michael | 2008-01-02 11:55:45 +0100 (Wed, 02 Jan 2008) | 1 line

Fixed wrong path for apache defines
------------------------------------------------------------------------ r9588 | michael | 2007-12-30 21:42:32 +0100 (Sun, 30 Dec 2007) | 1 line

* FPCAPACHE_1_13 or FPCAPACHE_2_0 define will determine what Apache version is taken ------------------------------------------------------------------------ r8875 | jonas | 2007-10-21 12:51:58 +0200 (Sun, 21 Oct 2007) | 3 lines

* improved gcc library path detection for cross-compilation on Linux x86_64/i386 systems (patch from C. Western, mantis #9699)

------------------------------------------------------------------------ r8793 | jonas | 2007-10-14 14:26:16 +0200 (Sun, 14 Oct 2007) | 2 lines

* quoted a bunch of variables

------------------------------------------------------------------------ r8792 | jonas | 2007-10-14 14:19:52 +0200 (Sun, 14 Oct 2007) | 2 lines

* fixed in case the fpc binary is not in the PATH

------------------------------------------------------------------------ r8084 | joost | 2007-07-17 19:39:35 +0200 (Tue, 17 Jul 2007) | 1 line

* Replaced "uname m" from which the output was not very consistent with "fpc -PP" ------------------------------------------------------------------------ r7996 | Almindor | 2007-07-09 23:14:59 +0200 (Mon, 09 Jul 2007) | 2 lines

* adds amd64 to the list of uname -m possible results in samplecfg

------------------------------------------------------------------------ r7995 | Almindor | 2007-07-09 23:09:26 +0200 (Mon, 09 Jul 2007) | 2 lines

* exchange "arch" with "uname -m" in samplecfg to work on non-linux

------------------------------------------------------------------------ r6947 | jonas | 2007-03-21 20:16:51 +0100 (Wed, 21 Mar 2007) | 3 lines

* darwin->darwin compilation does not need cross binutils (regardless of source/target processor)

------------------------------------------------------------------------ r6939 | peter | 2007-03-21 12:26:46 +0100 (Wed, 21 Mar 2007) | 2 lines

* use i?86 instead of i386

------------------------------------------------------------------------ r6934 | daniel | 2007-03-19 16:33:06 +0100 (Mon, 19 Mar 2007) | 2 lines

* Better check to avoid cross-binutils

------------------------------------------------------------------------ r6933 | daniel | 2007-03-19 15:22:57 +0100 (Mon, 19 Mar 2007) | 2 lines

+ A binutils prefix is not necessary when cross-compiling from i386 to x86_64 and vice versa.

------------------------------------------------------------------------ r5994 | jonas | 2007-01-15 22:56:25 +0100 (Mon, 15 Jan 2007) | 2 lines

* fixed bashisms

------------------------------------------------------------------------ r5725 | jonas | 2006-12-27 16:09:13 +0100 (Wed, 27 Dec 2006) | 2 lines

* updated for new compiler switches (mantis 7063)

------------------------------------------------------------------------ r5518 | jonas | 2006-12-01 19:54:06 +0100 (Fri, 01 Dec 2006) | 3 lines

+ support multiple gcc dirs depending on the target architecture for Darwin (ppc, ppc64, i386, x86_64)

------------------------------------------------------------------------ r4597 | jonas | 2006-09-10 13:53:58 +0200 (Sun, 10 Sep 2006) | 2 lines

* fixed missing escaping of -XP parameter value

------------------------------------------------------------------------ r4119 | marco | 2006-07-07 17:02:15 +0200 (Fri, 07 Jul 2006) | 5 lines

* Linux case now default for solaris, OS X
This line, and those below, will be ignored--

M samplecfg

------------------------------------------------------------------------ r4115 | marco | 2006-07-06 22:33:54 +0200 (Thu, 06 Jul 2006) | 2 lines

* fix for freebsd and linux)

------------------------------------------------------------------------ r2498 | florian | 2006-02-09 16:06:33 +0100 (Thu, 09 Feb 2006) | 1 line

* from Ales Katona: use $fpcversion instead of fixed version number when generating config ------------------------------------------------------------------------ r467 | jonas | 2005-06-21 22:28:22 +0200 (Tue, 21 Jun 2005) | 2 lines

* fix for gcc4 from Colin Western

------------------------------------------------------------------------ r207 | olle | 2005-06-05 14:28:30 +0200 (Sun, 05 Jun 2005) | 1 line

fixed misspelling of comment
------------------------------------------------------------------------ r1 | fpc | 2005-05-16 20:37:41 +0200 (Mon, 16 May 2005) | 1 line

initial import
------------------------------------------------------------------------

Reply by email

Frank Church
to Frank Church: I am currently generating my fpc.cfg in the build script with this command mkdir -p…

I tried to build FreePascal 2.5.1 using FPC 2.4.2 and when it comes to generating the .fpc.cfg using samplecfg there is an error message about -p option not present.

fpcmkcfg --help

Show quoted text 15 lines
Error: Unknown option.--help Usage: fpcmkcfg [options] Where options is one or more of -t filename Template file name. Default is built-in -o filename Set output file. Default is standard output. -d name=value define name=value pair. -h show this help and exit. -u name remove name from list of name/value pairs. -l filename read name/value pairs from filename -b show builtin template and exit. -v be verbose. -0 use built in fpc.cfg template (default) -1 use built in fp.cfg template -2 use built in fp.ini template

When I use the just built fpc 2.5.1 it is okay. Did some regression creep into the 2.4.2 version?

Show quoted text 20 lines
/home/rchurch/Programs/fpc/2.5.1/fpc_251_17411/bin/fpcmkcfg --help Error: Unknown option.--help Usage: fpcmkcfg [options] Where options is one or more of -t filename Template file name. Default is built-in -o filename Set output file. Default is standard output. -d name=value define name=value pair. -h show this help and exit. -u name remove name from list of name/value pairs. -m show builtin macros and exit. -b show builtin template and exit. -s skip the creation of a backup-file. -p force directory creation. -v be verbose. -0 use built in fpc.cfg template (default) -1 use built in fp.cfg template -2 use built in fp.ini template -3 use built in fppkg.cfg template -4 use built in fppkg default compiler template

The fpcmkcfg that comes with 2.4.2 has a problem, so I modified my script, copying the newly built version samplecfg into my on ~/bin directory for the build to succeed.

Frank Church wrote 24 lines
I am currently generating my fpc.cfg in the build script with this command mkdir -p ${FPC_SETTINGS_DIR} > ${FPC_INSTALL_DIR}/lib/fpc/${FPCVER}/samplecfg > ${FPC_INSTALL_DIR}/lib/fpc/${FPCVER} ${FPC_SETTINGS_DIR} > cp ${FPC_SETTINGS_DIR}/fpc.cfg ${HOMEDIR}/.fpc.cfg > based on (with some new modifications) my script blogged at http://devblog.brahmancreations.com/content/build-scripts-for-installing-freepascal-and-lazarus-from-source . It looks like it will be better if the samplecfg uses the fpcmkcfg created with the new build. Has it been updated since the 2005 date it was created? How does the normal installation script create the proper fpc.cfg? -- Frank Church ======================= http://devblog.brahmancreations.com
Frank Church ======================= http://devblog.brahmancreations.com

Reply by email

Marco van de Voort
to Frank Church

In our previous episode, Frank Church said:

I tried to build FreePascal 2.5.1 using FPC 2.4.2 and when it comes to generating the .fpc.cfg using samplecfg there is an error message about -p option not present.

Rule of thumb, if you use some script or other tool from a repository, you must also use those tools in the version you find in that repository.

The only exception is the bootstrap compiler.

The trouble is that samplecfg is mostly used to generate fpc.cfg after installing a binary release (be it a debian/RPM/ports package or a binary .tgz).

IOW the compiler is globally installed before it is run.

Reply by email