Blob Blame History Raw
Index: fpcsrc/compiler/utils/samplecfg
===================================================================
--- fpcsrc/compiler/utils/samplecfg	(version 2.2.4)
+++ fpcsrc/compiler/utils/samplecfg	(working copy)
@@ -17,7 +17,7 @@
 
 setgccdirarch() {
 # First argument is fpc define for CPU type; remaining args are passed to gcc to set corresponding architecture
-FPCDEFINE=$1
+FPCDEFINE="$1"/"$libdir"/fpc
 shift
 setgccdir $@
 
@@ -35,7 +35,7 @@
 if [ $# = 0 ]; then
   echo 'Usage :'
   echo 'samplecfg fpcdir confdir'
-  echo 'fpcdir = Path where FPC is installed'
+  echo 'fpcdir = Prefix where FPC is installed (/usr/., /usr/local/.)'
   echo 'confdir = Path to /etc'
   exit 1
 fi
@@ -45,9 +45,16 @@
 else
   sysdir=/etc
 fi
-FPCBIN=`dirname "$1"`/../../bin/fpc
-FPBIN=`dirname "$1"`/../../bin/fp
-sysfpdirbase=`dirname "$1"`/`$FPCBIN -iV`
+FPCBIN="$1"/bin/fpc
+FPBIN="$1"/bin/fp
+fpctargetproc=`$FPCBIN -iTP`
+echo "$fpctargetproc"
+if [ "$fpctargetproc" = "x86_64" -o "$fpctargetproc" = "powerpc64" ]; then
+  libdir=lib64
+else
+  libdir=lib
+fi
+sysfpdirbase="$1"/"$libdir"/fpc/`$FPCBIN -iV`
 sysfpdirbase2=$sysfpdirbase/ide
 sysfpdir=$sysfpdirbase2/text
 fpctargetos=`$FPCBIN -iTO`
@@ -223,7 +230,8 @@
 
 
 # set right path to FPC with $fpcversion
-FPCPATH=`dirname "$1"`/\$fpcversion
+FPCPATH32="$1"/lib/fpc/\$fpcversion
+FPCPATH64="$1"/lib64/fpc/\$fpcversion
 
 # Write (.)fpc.cfg
 echo Writing sample configuration file to $fpccfgfile
@@ -359,26 +367,48 @@
 
 # path to the messagefile, not necessary anymore but can be used to override
 # the default language
-#-Fr$FPCPATH/msg/errore.msg
-#-Fr$FPCPATH/msg/errorn.msg
+#-Fr$FPCPATH32/msg/errore.msg
+#-Fr$FPCPATH32/msg/errorn.msg
+#-Fr$FPCPATH64/msg/errore.msg
+#-Fr$FPCPATH64/msg/errorn.msg
 
 # searchpath for includefiles
 #-Fi/pp/inc;/pp/rtl/inc
 
 #IFDEF FPCAPACHE_1_3
--Fu$FPCPATH/units/\$fpctarget/httpd13/
+#IFDEF CPU64
+-Fu$FPCPATH64/units/\$fpctarget/httpd13/
+#ELSE
+-Fu$FPCPATH32/units/\$fpctarget/httpd13/
+#ENDIF
 #ELSE
 #IFDEF FPCAPACHE_2_0
--Fu$FPCPATH/units/\$fpctarget/httpd20
+#IFDEF CPU64
+-Fu$FPCPATH64/units/\$fpctarget/httpd20
+#ELSE
+-Fu$FPCPATH32/units/\$fpctarget/httpd20
+#ENDIF
+#ELSE
+#IFDEF CPU64
+-Fu$FPCPATH64/units/\$fpctarget/httpd22
 #ELSE
--Fu$FPCPATH/units/\$fpctarget/httpd22
+-Fu$FPCPATH32/units/\$fpctarget/httpd22
+#ENDIF
 #ENDIF
 #ENDIF
 
 # searchpath for units and other system dependent things
--Fu$FPCPATH/units/\$fpctarget
--Fu$FPCPATH/units/\$fpctarget/*
--Fu$FPCPATH/units/\$fpctarget/rtl
+#IFDEF CPU64
+# 64-bits
+-Fu$FPCPATH64/units/\$fpctarget
+-Fu$FPCPATH64/units/\$fpctarget/*
+-Fu$FPCPATH64/units/\$fpctarget/rtl
+#ELSE
+# 32-bits
+-Fu$FPCPATH32/units/\$fpctarget
+-Fu$FPCPATH32/units/\$fpctarget/*
+-Fu$FPCPATH32/units/\$fpctarget/rtl
+#ENDIF
 #-Fu~/fpc/packages/base/*/units/$fpctarget;~/fpc/fcl/units/$fpctarget;~/fpc/rtl/units/$fpctarget
 
 # searchpath for libraries