mirror of
				https://gitlab.com/freepascal.org/fpc/source.git
				synced 2025-10-31 10:31:44 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			96 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			96 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
| #!/bin/sh
 | |
| #
 | |
| #  $Id: samplecfg,v 1.13 2005/02/19 18:50:20 florian Exp $
 | |
| #
 | |
| #  Generate Sample Free Pascal configuration file
 | |
| #
 | |
| 
 | |
| HOSTOS=`uname -s | tr A-Z a-z`
 | |
| echo Running on $HOSTOS
 | |
| 
 | |
| if [ $# = 0 ]; then
 | |
|   echo 'Usage :'
 | |
|   echo 'samplecfg fpcdir confdir'
 | |
|   echo 'fpcdir = Path where FPC is installed'
 | |
|   echo 'confdir = Path to /etc'
 | |
|   exit 1
 | |
| fi
 | |
| if [ "$2" ]; then
 | |
|   sysdir="$2"
 | |
|   [ -d "$sysdir" ] || mkdir "$sysdir"
 | |
| else
 | |
|   sysdir=/etc
 | |
| fi
 | |
| FPCBIN=`dirname "$1"`/../../bin/fpc
 | |
| FPBIN=`dirname "$1"`/../../bin/fp
 | |
| FPPKGBIN=`dirname "$1"`/../../bin/fppkg
 | |
| sysfpdirbase=`dirname "$1"`/`"$FPCBIN" -iV`
 | |
| sysfpdirbase2=$sysfpdirbase/ide
 | |
| sysfpdir=$sysfpdirbase2/text
 | |
| 
 | |
| # Detect if we have write permission in sysdir.
 | |
| if [ -w "$sysdir" ] ; then
 | |
|   echo Write permission in $sysdir.
 | |
|   fpccfgfile="$sysdir"/fpc.cfg
 | |
|   fppkgfile="$sysdir"/fppkg.cfg
 | |
|   defaultfile="$sysdir"/fppkg/default
 | |
|   compilerconfigdir="-d CompilerConfigDir=$sysdir/fppkg"
 | |
| else
 | |
|   echo No write premission in $sysdir.
 | |
|   fpccfgfile="$HOME"/.fpc.cfg
 | |
|   fppkgfile="$HOME"/.config/fppkg.cfg
 | |
|   defaultfile="$HOME"/.fppkg/config/default
 | |
| fi
 | |
| #
 | |
| 
 | |
| # Don't mess with IDE configuration if fp binary does not exist
 | |
| if [ -f "$FPBIN" ] ; then
 | |
| 
 | |
| # Assume local FP IDE configuration unless writing system-wide version possible
 | |
|   fpinifile="$HOME"/.fp/fp.ini
 | |
|   fpcfgfile="$HOME"/.fp/fp.cfg
 | |
| 
 | |
| # Detect if we have write permission in sysfpdir, or that the directory can be made
 | |
|   if ( [ -d "$sysfpdirbase" ] && [ -w "$sysfpdirbase" ] && ! [ -d "$sysfpdirbase2" ] ) ||
 | |
|      ( [ -d "$sysfpdirbase2" ] && [ -w "$sysfpdirbase2" ] && ! [ -d "$sysfpdir" ] ) ||
 | |
|      ( [ -d "$sysfpdir" ] && [ -w "$sysfpdir" ] ) ; then
 | |
|     fpinifile="$sysfpdir"/fp.ini
 | |
|     fpcfgfile="$sysfpdir"/fp.cfg
 | |
|   fi
 | |
| #
 | |
| fi
 | |
| 
 | |
| # set right path to FPC with $fpcversion
 | |
| FPCPATH=`dirname "$1"`/\$fpcversion
 | |
| # set right prefix to FPC
 | |
| FPCGLOBALPREFIX=`dirname "$1"`/../../
 | |
| 
 | |
| # Write (.)fpc.cfg
 | |
| echo Writing sample configuration file to $fpccfgfile
 | |
| fpcmkcfg -d "basepath=$FPCPATH" -o $fpccfgfile
 | |
| 
 | |
| if ! [ -f "$FPBIN" ] ; then
 | |
|   exit
 | |
| fi
 | |
| 
 | |
| # Write fp.cfg
 | |
| echo Writing sample configuration file to $fpcfgfile
 | |
| fpcmkcfg -p -1 -d "basepath=$FPCPATH" -o $fpcfgfile
 | |
| 
 | |
| # Write fp.ini
 | |
| echo Writing sample configuration file to $fpinifile
 | |
| fpcmkcfg -p -2 -o $fpinifile
 | |
| 
 | |
| # Do not write fppkg configuration when fppkg is not available
 | |
| if ! [ -f "$FPPKGBIN" ] ; then
 | |
|   exit
 | |
| fi
 | |
| 
 | |
| # Write fppkg.cfg
 | |
| echo Writing sample configuration file to $fppkgfile
 | |
| fpcmkcfg -p -3 $compilerconfigdir -o $fppkgfile
 | |
| 
 | |
| # Write default
 | |
| echo Writing sample configuration file to $defaultfile
 | |
| fpcmkcfg -p -4 -d "GlobalPrefix=$FPCGLOBALPREFIX" -o $defaultfile
 | 
