mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-05-03 07:23:38 +02:00
48 lines
1.1 KiB
Bash
Executable File
48 lines
1.1 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
#
|
|
# Author: Mattias Gaertner
|
|
#
|
|
# Abstract:
|
|
# Updates the list of files of the LCL package:
|
|
# lazarus/packager/pkgfileslcl.inc
|
|
|
|
#set -x
|
|
set -e
|
|
|
|
# find the lazarus directory
|
|
PrgPath=$0
|
|
if [ "${PrgPath:0:1}" != "/" ]; then
|
|
# path does not start with / => relative
|
|
PrgPath=$(pwd)/$PrgPath
|
|
fi
|
|
LazarusDir=${PrgPath%/tools/*}/
|
|
|
|
OutputFile=$LazarusDir"packager/pkgfileslcl.inc"
|
|
echo "{%MainUnit packagesystem.pas}" > $OutputFile
|
|
echo "// automatically created by tools/update_pkgfileslcl_inc.sh" >> $OutputFile
|
|
|
|
# cd into the lcl directory
|
|
cd $LazarusDir/lcl
|
|
|
|
# scan every LCL .pas/.pp file
|
|
for file in $(ls -1 *.pp *.pas widgetset/*.pp nonwin32/*.pp); do
|
|
echo $file
|
|
# get unit name
|
|
Unitname=$(egrep -i '^unit .*;' $file | sed -e 's/unit \+//I' -e 's/;.*//')
|
|
if [ -n "$Unitname" ]; then
|
|
# check if 'procedure Register;' exists
|
|
Flags=""
|
|
if [ -n "$(egrep -i 'procedure register;' $file)" ]; then
|
|
Flags="pffHasRegisterProc"
|
|
fi
|
|
Line="AddFile('"$file"','"$Unitname"',pftUnit,["$Flags"],cpBase);"
|
|
echo $Line >> $OutputFile
|
|
fi
|
|
done
|
|
|
|
echo "" >> $OutputFile
|
|
|
|
# end.
|
|
|
|
|