mirror of
git://git.code.sf.net/p/cdesktopenv/code
synced 2025-03-09 15:50:02 +00:00
Merge branch 'master' into cde-next
This commit is contained in:
commit
2dadc23e0e
1132 changed files with 55246 additions and 88230 deletions
29
cde/Makefile
29
cde/Makefile
|
@ -1,5 +1,5 @@
|
||||||
# $TOG: Makefile /main/15 1999/10/12 09:33:30 mgreess $
|
# $TOG: Makefile /main/15 1999/10/12 09:33:30 mgreess $
|
||||||
RELEASE = Release 2.3.0
|
RELEASE = Release 2.3.0a
|
||||||
PRODUCT = CDE
|
PRODUCT = CDE
|
||||||
SHELL = /bin/sh
|
SHELL = /bin/sh
|
||||||
RM = rm -f
|
RM = rm -f
|
||||||
|
@ -7,7 +7,6 @@
|
||||||
MAKE = make
|
MAKE = make
|
||||||
NMAKE = nmake
|
NMAKE = nmake
|
||||||
WORLDOPTS =
|
WORLDOPTS =
|
||||||
WIN32WORLDOPTS = -i
|
|
||||||
TOP = .
|
TOP = .
|
||||||
CURRENT_DIR = .
|
CURRENT_DIR = .
|
||||||
CONFIGSRC = $(TOP)/config
|
CONFIGSRC = $(TOP)/config
|
||||||
|
@ -146,7 +145,7 @@ $(IMAKESRC)/Makefile.proto:
|
||||||
imake.bootstrap:
|
imake.bootstrap:
|
||||||
cd $(IMAKESRC) && $(MAKE) -f Makefile.proto bootstrapdepend
|
cd $(IMAKESRC) && $(MAKE) -f Makefile.proto bootstrapdepend
|
||||||
cd $(IMAKESRC) && $(MAKE) $(FLAGS) bootstrap
|
cd $(IMAKESRC) && $(MAKE) $(FLAGS) bootstrap
|
||||||
cd $(IMAKESRC) && $(MAKE) -f Makefile.proto all
|
cd $(IMAKESRC) && $(MAKE) -f Makefile.proto all
|
||||||
-@if [ -f xmakefile ]; then set -x; \
|
-@if [ -f xmakefile ]; then set -x; \
|
||||||
$(RM) xmakefile.bak; $(MV) xmakefile xmakefile.bak; \
|
$(RM) xmakefile.bak; $(MV) xmakefile xmakefile.bak; \
|
||||||
else exit 0; fi
|
else exit 0; fi
|
||||||
|
@ -161,30 +160,6 @@ Makefile::
|
||||||
xmakefile: Imakefile
|
xmakefile: Imakefile
|
||||||
$(IMAKE_CMD) -s xmakefile -DTOPDIR=$(TOP) -DCURDIR=$(CURRENT_DIR)
|
$(IMAKE_CMD) -s xmakefile -DTOPDIR=$(TOP) -DCURDIR=$(CURRENT_DIR)
|
||||||
|
|
||||||
World.Win32:
|
|
||||||
@echo :
|
|
||||||
@echo Building $(RELEASE) of $(PRODUCT).
|
|
||||||
@echo :
|
|
||||||
@echo :
|
|
||||||
cd $(IMAKESRC)
|
|
||||||
$(NMAKE) -f Makefile.ini clean.Win32
|
|
||||||
$(NMAKE) -f Makefile.ini imake.exe
|
|
||||||
cd ..\..
|
|
||||||
-if exist xmakefile.bak del xmakefile.bak
|
|
||||||
-if exist xmakefile ren xmakefile xmakefile.bak
|
|
||||||
$(IMAKE:/=\) -s xmakefile -I$(IRULESRC) $(IMAKE_DEFINES) -DTOPDIR=$(TOP) -DCURDIR=$(CURRENT_DIR)
|
|
||||||
$(NMAKE_CMD) $(MFLAGS) VerifyOS
|
|
||||||
$(NMAKE_CMD) $(MFLAGS) Makefiles
|
|
||||||
$(NMAKE_CMD) $(MFLAGS) clean
|
|
||||||
$(NMAKE_CMD) $(MFLAGS) includes
|
|
||||||
$(NMAKE_CMD) $(MFLAGS) depend
|
|
||||||
$(NMAKE_CMD) $(MFLAGS) $(WIN32WORLDOPTS)
|
|
||||||
@echo :
|
|
||||||
@echo :
|
|
||||||
@echo Full build of $(RELEASE) of $(PRODUCT) complete.
|
|
||||||
@echo :
|
|
||||||
|
|
||||||
|
|
||||||
# don't allow any default rules in this Makefile
|
# don't allow any default rules in this Makefile
|
||||||
.SUFFIXES:
|
.SUFFIXES:
|
||||||
|
|
||||||
|
|
|
@ -50,8 +50,6 @@ unset FIGNORE
|
||||||
|
|
||||||
LOGFILE="installCDE.$$.log"
|
LOGFILE="installCDE.$$.log"
|
||||||
|
|
||||||
REVISION="$(echo "$Revision: /main/20 $" | awk '{print $2}')"
|
|
||||||
|
|
||||||
Log()
|
Log()
|
||||||
{
|
{
|
||||||
/bin/echo "$1" | tee -a $LOGFILE
|
/bin/echo "$1" | tee -a $LOGFILE
|
||||||
|
@ -66,19 +64,19 @@ MakeTarball()
|
||||||
Log "Creating tarball..."
|
Log "Creating tarball..."
|
||||||
|
|
||||||
DIRNAME=build.$DATE
|
DIRNAME=build.$DATE
|
||||||
mkdir -p $TARBALL_LOCATION/$DIRNAME
|
mkdir -p "$TARBALL_LOCATION/$DIRNAME"
|
||||||
cd /
|
cd / || exit 1
|
||||||
echo $DATE >$LOGFILES_LOCATION/.build.$DATE
|
echo "$DATE" >"$LOGFILES_LOCATION/.build.$DATE"
|
||||||
chown bin $LOGFILES_LOCATION/.build.$DATE
|
chown bin "$LOGFILES_LOCATION/.build.$DATE"
|
||||||
|
|
||||||
if [ "$COMPRESS_TARBALL" = "yes" ]; then
|
if [ "$COMPRESS_TARBALL" = "yes" ]; then
|
||||||
tar -cf - $INSTALL_LOCATION/STAR \
|
tar -cf - "$INSTALL_LOCATION/STAR" \
|
||||||
2>$TARBALL_LOCATION/$DIRNAME/extract.err |
|
2>"$TARBALL_LOCATION/$DIRNAME/extract.err" |
|
||||||
compress -c >$TARBALL_LOCATION/$DIRNAME/dttar.Z
|
compress -c >"$TARBALL_LOCATION/$DIRNAME/dttar.Z"
|
||||||
else
|
else
|
||||||
tar -cf $TARBALL_LOCATION/$DIRNAME/dt.tar \
|
tar -cf "$TARBALL_LOCATION/$DIRNAME/dt.tar" \
|
||||||
$INSTALL_LOCATION/STAR \
|
"$INSTALL_LOCATION/STAR" \
|
||||||
2>$TARBALL_LOCATION/$DIRNAME/extract.err 2>&1
|
2>"$TARBALL_LOCATION/$DIRNAME/extract.err" 2>&1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$ACTUAL_INSTALLATION_LOC" = "" ]; then
|
if [ "$ACTUAL_INSTALLATION_LOC" = "" ]; then
|
||||||
|
@ -86,31 +84,30 @@ MakeTarball()
|
||||||
else
|
else
|
||||||
actualInstallDir=$ACTUAL_INSTALLATION_LOC
|
actualInstallDir=$ACTUAL_INSTALLATION_LOC
|
||||||
fi
|
fi
|
||||||
let size=$(du -s $actualInstallDir | awk '{print $1}')*512
|
let size=$(du -s "$actualInstallDir" | awk '{print $1}')*512
|
||||||
|
|
||||||
HASH load installation fileset *after* tarball generated
|
HASH load installation fileset *after* tarball generated
|
||||||
LoadFileSet "" "CDE-INSTALL"
|
LoadFileSet "" "CDE-INSTALL"
|
||||||
|
|
||||||
HASH create config dir
|
HASH create config dir
|
||||||
destPost=$TARBALL_LOCATION/$DIRNAME/config
|
destPost=$TARBALL_LOCATION/$DIRNAME/config
|
||||||
mkdir $destPost
|
mkdir "$destPost"
|
||||||
|
|
||||||
HASH copy config and platform config scripts
|
HASH copy config and platform config scripts
|
||||||
src=$INSTALL_LOCATION/install/$PLATFORM_SCRIPT_DIR
|
src=$INSTALL_LOCATION/install/$PLATFORM_SCRIPT_DIR
|
||||||
cp $src/config/STAR.cfg $destPost
|
cp "$src/config/STAR.cfg" "$destPost"
|
||||||
|
|
||||||
HASH copy this script and install.dt platform overrides
|
HASH copy this script and install.dt platform overrides
|
||||||
cp $src/install.dto $TARBALL_LOCATION/$DIRNAME/install.dto
|
cp "$src/install.dto" "$TARBALL_LOCATION/$DIRNAME/install.dto"
|
||||||
cp $src/install.cde $TARBALL_LOCATION/$DIRNAME/install.cde
|
cp "$src/install.cde" "$TARBALL_LOCATION/$DIRNAME/install.cde"
|
||||||
chmod 755 $TARBALL_LOCATION/$DIRNAME/install.cde
|
chmod 755 "$TARBALL_LOCATION/$DIRNAME/install.cde"
|
||||||
|
|
||||||
cd /
|
cd / || exit 1
|
||||||
|
|
||||||
Log "done."
|
Log "done."
|
||||||
|
|
||||||
cat >$TARBALL_LOCATION/$DIRNAME/dt.pkg <<FIN
|
cat >"$TARBALL_LOCATION/$DIRNAME/dt.pkg" <<FIN
|
||||||
PLATFORM: $PLATFORM
|
PLATFORM: $PLATFORM
|
||||||
VERSION: $REVISION
|
|
||||||
TS: $DATE
|
TS: $DATE
|
||||||
COMPRESSED: $COMPRESS_TARBALL
|
COMPRESSED: $COMPRESS_TARBALL
|
||||||
SIZE: $size
|
SIZE: $size
|
||||||
|
@ -118,7 +115,7 @@ CL: $ORIGINAL_COMMAND_LINE
|
||||||
FILESETS: $DATABASE_FILES
|
FILESETS: $DATABASE_FILES
|
||||||
FIN
|
FIN
|
||||||
|
|
||||||
cat >$TARBALL_LOCATION/$DIRNAME/build.status <<FIN
|
cat >"$TARBALL_LOCATION/$DIRNAME/build.status" <<FIN
|
||||||
The UNIX Desktop
|
The UNIX Desktop
|
||||||
|
|
||||||
BUILD: $DATE
|
BUILD: $DATE
|
||||||
|
@ -128,7 +125,7 @@ MAJOR PROBLEMS: <not yet tested>
|
||||||
|
|
||||||
FIN
|
FIN
|
||||||
|
|
||||||
chmod g+w $TARBALL_LOCATION/$DIRNAME/build.status
|
chmod g+w "$TARBALL_LOCATION/$DIRNAME/build.status"
|
||||||
}
|
}
|
||||||
|
|
||||||
DoFilesetScript()
|
DoFilesetScript()
|
||||||
|
@ -142,22 +139,22 @@ DoFilesetScript()
|
||||||
ScriptName=$2 # use long config file name (configFoo)
|
ScriptName=$2 # use long config file name (configFoo)
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ $CDECONFIGDIR = "CONFIG" ]; then
|
if [ "$CDECONFIGDIR" = "CONFIG" ]; then
|
||||||
typeset -u ScriptName
|
typeset -u ScriptName
|
||||||
fi
|
fi
|
||||||
|
|
||||||
test_string=${DATABASE_FILES#*$FilesetName}
|
test_string=${DATABASE_FILES#*$FilesetName}
|
||||||
if (( ${#DATABASE_FILES} > ${#test_string} ))
|
if (( ${#DATABASE_FILES} > ${#test_string} ))
|
||||||
then
|
then
|
||||||
if [ -x $POST_INSTALL_DIR/$PLATFORM_SCRIPT_DIR/$ScriptName ]
|
if [ -x "$POST_INSTALL_DIR/$PLATFORM_SCRIPT_DIR/$ScriptName" ]
|
||||||
then
|
then
|
||||||
Log "Executing $PLATFORM specific $FilesetName customize script"
|
Log "Executing $PLATFORM specific $FilesetName customize script"
|
||||||
KORNSHELL $POST_INSTALL_DIR/$PLATFORM_SCRIPT_DIR/$ScriptName -e 2>&1 | \
|
KORNSHELL "$POST_INSTALL_DIR/$PLATFORM_SCRIPT_DIR/$ScriptName" -e 2>&1 | \
|
||||||
tee -a $LOGFILE
|
tee -a $LOGFILE
|
||||||
elif [ -x $POST_INSTALL_DIR/$ScriptName ]
|
elif [ -x "$POST_INSTALL_DIR/$ScriptName" ]
|
||||||
then
|
then
|
||||||
Log "Executing $FilesetName customize script"
|
Log "Executing $FilesetName customize script"
|
||||||
KORNSHELL $POST_INSTALL_DIR/$ScriptName -e 2>&1 | tee -a $LOGFILE
|
KORNSHELL "$POST_INSTALL_DIR/$ScriptName" -e 2>&1 | tee -a $LOGFILE
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
@ -176,16 +173,16 @@ CreatePackingList()
|
||||||
{
|
{
|
||||||
Log " "
|
Log " "
|
||||||
Log "Creating packing list."
|
Log "Creating packing list."
|
||||||
touch $INSTALL_LOCATION/Packing_list
|
touch "$INSTALL_LOCATION/Packing_list"
|
||||||
for i in `echo $DATABASE_FILES`
|
for i in $DATABASE_FILES
|
||||||
do
|
do
|
||||||
Log " for $i"
|
Log " for $i"
|
||||||
KORNSHELL $TOOL_DIR/udbToAny.ksh -toDB -ReleaseStream $PLATFORM $DATABASE_DIR/${i}.udb > /tmp/${i}.db
|
KORNSHELL "$TOOL_DIR/udbToAny.ksh" -toDB -ReleaseStream "$PLATFORM" "$DATABASE_DIR/${i}.udb" > "/tmp/${i}.db"
|
||||||
if [ -r /tmp/${i}.db ]
|
if [ -r "/tmp/${i}.db" ]
|
||||||
then
|
then
|
||||||
for file in `fgrep install_target /tmp/${i}.db | cut -sf 2 -d \: `
|
grep -F install_target "/tmp/${i}.db" | cut -sf 2 -d '\: ' < file | while IFS= read -r line
|
||||||
do
|
do
|
||||||
echo "$file" >>$INSTALL_LOCATION/Packing_list
|
echo "$line" >>"$INSTALL_LOCATION/Packing_list"
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
@ -198,23 +195,23 @@ CleanDaemons()
|
||||||
|
|
||||||
for i in inetd rpc.ttdbserver rpc.cmsd
|
for i in inetd rpc.ttdbserver rpc.cmsd
|
||||||
do
|
do
|
||||||
if [ "$PLATFORM" = "aix" -a $i = "inetd" ]
|
if [ "$PLATFORM" = "aix" ] && [ $i = "inetd" ]
|
||||||
then
|
then
|
||||||
lssrc -s inetd >/dev/null 2>&1
|
if ! lssrc -s inetd >/dev/null 2>&1
|
||||||
if [ $? = "0" ]
|
|
||||||
then
|
then
|
||||||
stopsrc -s inetd >>$LOGFILE 2>&1
|
stopsrc -s inetd >>$LOGFILE 2>&1
|
||||||
fi
|
fi
|
||||||
elif [ "$PLATFORM" = "openbsd" -o "$PLATFORM" = "freebsd" -o "$PLATFORM" = "netbsd" -o "$PLATFORM" = "linux" ]
|
elif [ "$PLATFORM" = "openbsd" ] || [ "$PLATFORM" = "freebsd" ] || \
|
||||||
|
[ "$PLATFORM" = "netbsd" ] || [ "$PLATFORM" = "linux" ]
|
||||||
then
|
then
|
||||||
ps axo pid,comm | grep $i > /tmp/tmppsout
|
pgrep pid,comm > /tmp/tmppsout
|
||||||
if [ -s /tmp/tmppsout ]
|
if [ -s /tmp/tmppsout ]
|
||||||
then
|
then
|
||||||
awk '{print "kill " $1}' /tmp/tmppsout | /bin/sh -f
|
awk '{print "kill " $1}' /tmp/tmppsout | /bin/sh -f
|
||||||
sleep 2
|
sleep 2
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
ps -ef | grep $i | grep -v grep >/tmp/tmppsout
|
pgrep -v pgrep >/tmp/tmppsout
|
||||||
if [ -s /tmp/tmppsout ]
|
if [ -s /tmp/tmppsout ]
|
||||||
then
|
then
|
||||||
awk '{print "kill " $2}' /tmp/tmppsout | /bin/sh -f
|
awk '{print "kill " $2}' /tmp/tmppsout | /bin/sh -f
|
||||||
|
@ -229,8 +226,8 @@ RestartInetd()
|
||||||
{
|
{
|
||||||
HASH now restart inetd
|
HASH now restart inetd
|
||||||
|
|
||||||
OLDPWD=`pwd`
|
OLDPWD=$(pwd)
|
||||||
cd /
|
cd / || exit 1
|
||||||
if [ "$PLATFORM" = "sun" ]
|
if [ "$PLATFORM" = "sun" ]
|
||||||
then
|
then
|
||||||
/usr/sbin/svcadm refresh svc:/network/inetd:default
|
/usr/sbin/svcadm refresh svc:/network/inetd:default
|
||||||
|
@ -238,7 +235,7 @@ RestartInetd()
|
||||||
elif [ "$PLATFORM" = "aix" ]
|
elif [ "$PLATFORM" = "aix" ]
|
||||||
then
|
then
|
||||||
startsrc -s inetd >>$LOGFILE 2>&1
|
startsrc -s inetd >>$LOGFILE 2>&1
|
||||||
elif [ "$PLATFORM" = "openbsd" -o "$PLATFORM" = "netbsd" ]
|
elif [ "$PLATFORM" = "openbsd" ] || [ "$PLATFORM" = "netbsd" ]
|
||||||
then
|
then
|
||||||
/etc/rc.d/inetd start >/dev/null
|
/etc/rc.d/inetd start >/dev/null
|
||||||
elif [ "$PLATFORM" = "freebsd" ]
|
elif [ "$PLATFORM" = "freebsd" ]
|
||||||
|
@ -254,7 +251,7 @@ RestartInetd()
|
||||||
/etc/inetd
|
/etc/inetd
|
||||||
#endif
|
#endif
|
||||||
fi
|
fi
|
||||||
cd $OLDPWD
|
cd "$OLDPWD" || exit 1
|
||||||
}
|
}
|
||||||
|
|
||||||
CheckForActualLocations()
|
CheckForActualLocations()
|
||||||
|
@ -275,21 +272,21 @@ XCOMM
|
||||||
if [ "$CLEANING" = "yes" ]
|
if [ "$CLEANING" = "yes" ]
|
||||||
then
|
then
|
||||||
Log "Removing $INSTALL_LOCATION contents... "
|
Log "Removing $INSTALL_LOCATION contents... "
|
||||||
if [ -d $INSTALL_LOCATION ]
|
if [ -d "$INSTALL_LOCATION" ]
|
||||||
then
|
then
|
||||||
rm -rf $INSTALL_LOCATION/STAR
|
rm -rf "${INSTALL_LOCATION:?}/"STAR
|
||||||
if [ "$LeaveLinks" = "yes" ]
|
if [ "$LeaveLinks" = "yes" ]
|
||||||
then
|
then
|
||||||
if [ ! -L $INSTALL_LOCATION ]
|
if [ ! -L "$INSTALL_LOCATION" ]
|
||||||
then
|
then
|
||||||
rm -rf $INSTALL_LOCATION
|
rm -rf "$INSTALL_LOCATION"
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
if [ -L $INSTALL_LOCATION ]
|
if [ -L "$INSTALL_LOCATION" ]
|
||||||
then
|
then
|
||||||
rm -f $INSTALL_LOCATION
|
rm -f "$INSTALL_LOCATION"
|
||||||
else
|
else
|
||||||
rm -rf $INSTALL_LOCATION
|
rm -rf "$INSTALL_LOCATION"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
@ -304,22 +301,22 @@ XCOMM
|
||||||
HASH first create the actual directory - if not there
|
HASH first create the actual directory - if not there
|
||||||
HASH
|
HASH
|
||||||
|
|
||||||
if [ ! -d $ACTUAL_INSTALLATION_LOC ]
|
if [ ! -d "$ACTUAL_INSTALLATION_LOC" ]
|
||||||
then
|
then
|
||||||
mkdir -p $ACTUAL_INSTALLATION_LOC
|
mkdir -p "$ACTUAL_INSTALLATION_LOC"
|
||||||
if [ ! -d $ACTUAL_INSTALLATION_LOC ]
|
if [ ! -d "$ACTUAL_INSTALLATION_LOC" ]
|
||||||
then
|
then
|
||||||
Log "cannot create $ACTUAL_INSTALLATION_LOC directory"
|
Log "cannot create $ACTUAL_INSTALLATION_LOC directory"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
ln -s $ACTUAL_INSTALLATION_LOC $INSTALL_LOCATION
|
ln -s "$ACTUAL_INSTALLATION_LOC" "$INSTALL_LOCATION"
|
||||||
|
|
||||||
else
|
else
|
||||||
if [ ! -d $INSTALL_LOCATION -a ! -L $INSTALL_LOCATION ];
|
if [ ! -d "$INSTALL_LOCATION" ] && [ ! -L "$INSTALL_LOCATION" ];
|
||||||
then
|
then
|
||||||
mkdir -p $INSTALL_LOCATION
|
mkdir -p "$INSTALL_LOCATION"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
@ -334,21 +331,21 @@ XCOMM
|
||||||
if [ "$CLEANING_ETC" = "yes" ]
|
if [ "$CLEANING_ETC" = "yes" ]
|
||||||
then
|
then
|
||||||
Log "Removing $CONFIGURE_LOCATION contents... "
|
Log "Removing $CONFIGURE_LOCATION contents... "
|
||||||
if [ -d $CONFIGURE_LOCATION ]
|
if [ -d "$CONFIGURE_LOCATION" ]
|
||||||
then
|
then
|
||||||
rm -rf $CONFIGURE_LOCATION/STAR
|
rm -rf "${CONFIGURE_LOCATION:?}/"STAR
|
||||||
if [ "$LeaveLinks" = "yes" ]
|
if [ "$LeaveLinks" = "yes" ]
|
||||||
then
|
then
|
||||||
if [ ! -L $CONFIGURE_LOCATION ]
|
if [ ! -L "$CONFIGURE_LOCATION" ]
|
||||||
then
|
then
|
||||||
rm -rf $CONFIGURE_LOCATION
|
rm -rf "$CONFIGURE_LOCATION"
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
if [ -L $CONFIGURE_LOCATION ]
|
if [ -L "$CONFIGURE_LOCATION" ]
|
||||||
then
|
then
|
||||||
rm -f $CONFIGURE_LOCATION
|
rm -f "$CONFIGURE_LOCATION"
|
||||||
else
|
else
|
||||||
rm -rf $CONFIGURE_LOCATION
|
rm -rf "$CONFIGURE_LOCATION"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
@ -356,43 +353,43 @@ XCOMM
|
||||||
|
|
||||||
if [ "$ACTUAL_CONFIGURATION_LOC" != "" ]
|
if [ "$ACTUAL_CONFIGURATION_LOC" != "" ]
|
||||||
then
|
then
|
||||||
if [ ! -d $ACTUAL_CONFIGURATION_LOC ]
|
if [ ! -d "$ACTUAL_CONFIGURATION_LOC" ]
|
||||||
then
|
then
|
||||||
mkdir -p $ACTUAL_CONFIGURATION_LOC
|
mkdir -p "$ACTUAL_CONFIGURATION_LOC"
|
||||||
if [ ! -d $ACTUAL_CONFIGURATION_LOC ]
|
if [ ! -d "$ACTUAL_CONFIGURATION_LOC" ]
|
||||||
then
|
then
|
||||||
Log "cannot create $ACTUAL_CONFIGURATION_LOC directory"
|
Log "cannot create $ACTUAL_CONFIGURATION_LOC directory"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
ln -s $ACTUAL_CONFIGURATION_LOC $CONFIGURE_LOCATION
|
ln -s "$ACTUAL_CONFIGURATION_LOC" "$CONFIGURE_LOCATION"
|
||||||
|
|
||||||
else
|
else
|
||||||
if [ ! -d $CONFIGURE_LOCATION -a ! -L $CONFIGURE_LOCATION ];
|
if [ ! -d "$CONFIGURE_LOCATION" ] && [ ! -L "$CONFIGURE_LOCATION" ];
|
||||||
then
|
then
|
||||||
mkdir -p $CONFIGURE_LOCATION
|
mkdir -p "$CONFIGURE_LOCATION"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$CLEANING" = "yes" ]
|
if [ "$CLEANING" = "yes" ]
|
||||||
then
|
then
|
||||||
Log "Removing $LOGFILES_LOCATION contents... "
|
Log "Removing $LOGFILES_LOCATION contents... "
|
||||||
if [ -d $LOGFILES_LOCATION ]
|
if [ -d "$LOGFILES_LOCATION" ]
|
||||||
then
|
then
|
||||||
rm -rf $LOGFILES_LOCATION/STAR
|
rm -rf "${LOGFILES_LOCATION:?}/"STAR
|
||||||
if [ "$LeaveLinks" = "yes" ]
|
if [ "$LeaveLinks" = "yes" ]
|
||||||
then
|
then
|
||||||
if [ ! -L $LOGFILES_LOCATION ]
|
if [ ! -L "$LOGFILES_LOCATION" ]
|
||||||
then
|
then
|
||||||
rm -rf $LOGFILES_LOCATION
|
rm -rf "$LOGFILES_LOCATION"
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
if [ -L $LOGFILES_LOCATION ]
|
if [ -L "$LOGFILES_LOCATION" ]
|
||||||
then
|
then
|
||||||
rm -f $LOGFILES_LOCATION
|
rm -f "$LOGFILES_LOCATION"
|
||||||
else
|
else
|
||||||
rm -rf $LOGFILES_LOCATION
|
rm -rf "$LOGFILES_LOCATION"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
@ -400,22 +397,22 @@ XCOMM
|
||||||
|
|
||||||
if [ "$ACTUAL_VAR_LOC" != "" ]
|
if [ "$ACTUAL_VAR_LOC" != "" ]
|
||||||
then
|
then
|
||||||
if [ ! -d $ACTUAL_VAR_LOC ]
|
if [ ! -d "$ACTUAL_VAR_LOC" ]
|
||||||
then
|
then
|
||||||
mkdir -p $ACTUAL_VAR_LOC
|
mkdir -p "$ACTUAL_VAR_LOC"
|
||||||
if [ ! -d $ACTUAL_VAR_LOC ]
|
if [ ! -d "$ACTUAL_VAR_LOC" ]
|
||||||
then
|
then
|
||||||
Log "cannot create $ACTUAL_VAR_LOC directory"
|
Log "cannot create $ACTUAL_VAR_LOC directory"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
ln -s $ACTUAL_VAR_LOC $LOGFILES_LOCATION
|
ln -s "$ACTUAL_VAR_LOC" "$LOGFILES_LOCATION"
|
||||||
|
|
||||||
else
|
else
|
||||||
if [ ! -d $LOGFILES_LOCATION -a ! -L $LOGFILES_LOCATION ];
|
if [ ! -d "$LOGFILES_LOCATION" ] && [ ! -L "$LOGFILES_LOCATION" ];
|
||||||
then
|
then
|
||||||
mkdir -p $LOGFILES_LOCATION
|
mkdir -p "$LOGFILES_LOCATION"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -424,7 +421,7 @@ XCOMM
|
||||||
|
|
||||||
USAGE()
|
USAGE()
|
||||||
{
|
{
|
||||||
echo -e "Usage: $(basename $0) {-s <source>|-z <package>} [options]"
|
echo -e "Usage: $(basename "$0") {-s <source>|-z <package>} [options]"
|
||||||
echo -e ""
|
echo -e ""
|
||||||
echo -e "\t-s <source>\t\t\tthe top of the build tree"
|
echo -e "\t-s <source>\t\t\tthe top of the build tree"
|
||||||
echo -e "\t-z <package>\t\tthe desktop install package"
|
echo -e "\t-z <package>\t\tthe desktop install package"
|
||||||
|
@ -491,28 +488,28 @@ LoadFileSet()
|
||||||
fi
|
fi
|
||||||
|
|
||||||
XCOMM don't bother if the fileset doesn't exist
|
XCOMM don't bother if the fileset doesn't exist
|
||||||
if [ ! -e $DATABASE_DIR/${2}.udb ]
|
if [ ! -e "$DATABASE_DIR/${2}.udb" ]
|
||||||
then
|
then
|
||||||
return
|
return
|
||||||
fi
|
fi
|
||||||
|
|
||||||
Log " $num installing database $2"
|
Log " $num installing database $2"
|
||||||
Log " - creating ${2}.lst file"
|
Log " - creating ${2}.lst file"
|
||||||
KORNSHELL $TOOL_DIR/udbToAny.ksh -toLst -ReleaseStream $PLATFORM \
|
KORNSHELL "$TOOL_DIR/udbToAny.ksh" -toLst -ReleaseStream "$PLATFORM" \
|
||||||
$DATABASE_DIR/${2}.udb > /tmp/${2}.lst
|
"$DATABASE_DIR/${2}.udb" > "/tmp/${2}.lst"
|
||||||
Log " - installing ... "
|
Log " - installing ... "
|
||||||
KORNSHELL $TOOL_DIR/mkProd -D $DESTINATION_DIR -S $BUILD_TREE /tmp/${2}.lst \
|
KORNSHELL "$TOOL_DIR/mkProd" -D "$DESTINATION_DIR" -S "$BUILD_TREE" "/tmp/${2}.lst" \
|
||||||
2>/tmp/${2}.err 1>/tmp/${2}.good
|
2>"/tmp/${2}.err" 1>"/tmp/${2}.good"
|
||||||
Log " done."
|
Log " done."
|
||||||
|
|
||||||
Log " - checking for errors ..."
|
Log " - checking for errors ..."
|
||||||
rm -f /tmp/${2}.missing
|
rm -f "/tmp/${2}.missing"
|
||||||
awk '{if ($1 == "ERROR:") print " " $4}' \
|
awk '{if ($1 == "ERROR:") print " " $4}' \
|
||||||
/tmp/${2}.err >> /tmp/${2}.missing
|
"/tmp/${2}.err" >> "/tmp/${2}.missing"
|
||||||
if [ -s /tmp/${2}.missing ]
|
if [ -s "/tmp/${2}.missing" ]
|
||||||
then
|
then
|
||||||
Log " - missing files:"
|
Log " - missing files:"
|
||||||
cat /tmp/${2}.missing | tee -a $LOGFILE
|
"/tmp/${2}.missing" >> "$LOGFILE"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
ORIGINAL_COMMAND_LINE="$*"
|
ORIGINAL_COMMAND_LINE="$*"
|
||||||
|
@ -526,27 +523,27 @@ PLATFORM_SCRIPT_DIR=""
|
||||||
XCOMM
|
XCOMM
|
||||||
XCOMM Set system
|
XCOMM Set system
|
||||||
XCOMM
|
XCOMM
|
||||||
if [ $BUILDSYSTEM = "AIX" ];
|
if [ "$BUILDSYSTEM" = "AIX" ];
|
||||||
then
|
then
|
||||||
PLATFORM=aix
|
PLATFORM=aix
|
||||||
PLATFORM_SCRIPT_DIR=ibm
|
PLATFORM_SCRIPT_DIR=ibm
|
||||||
elif [ $BUILDSYSTEM = "SunOS" ];
|
elif [ "$BUILDSYSTEM" = "SunOS" ];
|
||||||
then
|
then
|
||||||
PLATFORM=sun
|
PLATFORM=sun
|
||||||
PLATFORM_SCRIPT_DIR=sun
|
PLATFORM_SCRIPT_DIR=sun
|
||||||
elif [ $BUILDSYSTEM = "Linux" ];
|
elif [ "$BUILDSYSTEM" = "Linux" ];
|
||||||
then
|
then
|
||||||
PLATFORM="linux"
|
PLATFORM="linux"
|
||||||
PLATFORM_SCRIPT_DIR="linux"
|
PLATFORM_SCRIPT_DIR="linux"
|
||||||
elif [ $BUILDSYSTEM = "FreeBSD" ];
|
elif [ "$BUILDSYSTEM" = "FreeBSD" ];
|
||||||
then
|
then
|
||||||
PLATFORM="freebsd"
|
PLATFORM="freebsd"
|
||||||
PLATFORM_SCRIPT_DIR="freebsd"
|
PLATFORM_SCRIPT_DIR="freebsd"
|
||||||
elif [ $BUILDSYSTEM = "OpenBSD" ];
|
elif [ "$BUILDSYSTEM" = "OpenBSD" ];
|
||||||
then
|
then
|
||||||
PLATFORM="openbsd"
|
PLATFORM="openbsd"
|
||||||
PLATFORM_SCRIPT_DIR="openbsd"
|
PLATFORM_SCRIPT_DIR="openbsd"
|
||||||
elif [ $BUILDSYSTEM = "NetBSD" ];
|
elif [ "$BUILDSYSTEM" = "NetBSD" ];
|
||||||
then
|
then
|
||||||
PLATFORM="netbsd"
|
PLATFORM="netbsd"
|
||||||
PLATFORM_SCRIPT_DIR="netbsd"
|
PLATFORM_SCRIPT_DIR="netbsd"
|
||||||
|
@ -557,9 +554,9 @@ XCOMM
|
||||||
|
|
||||||
if [ "$PLATFORM" = "aix" ];
|
if [ "$PLATFORM" = "aix" ];
|
||||||
then
|
then
|
||||||
USER=`/bin/whoami`
|
USER=$(/bin/whoami)
|
||||||
else
|
else
|
||||||
USER=`/usr/bin/whoami`
|
USER=$(/usr/bin/whoami)
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$USER" != "root" ];
|
if [ "$USER" != "root" ];
|
||||||
|
@ -590,7 +587,6 @@ XCOMM
|
||||||
RUN_SCRIPTS_ONLY="no"
|
RUN_SCRIPTS_ONLY="no"
|
||||||
DATABASE_FILES=""
|
DATABASE_FILES=""
|
||||||
BUILD_TREE=""
|
BUILD_TREE=""
|
||||||
TAR_DIR=""
|
|
||||||
LeaveLinks="no"
|
LeaveLinks="no"
|
||||||
REMOVE_LINKS="no"
|
REMOVE_LINKS="no"
|
||||||
CLEAN_DAEMONS="yes"
|
CLEAN_DAEMONS="yes"
|
||||||
|
@ -782,30 +778,29 @@ XCOMM
|
||||||
|
|
||||||
echo ""
|
echo ""
|
||||||
|
|
||||||
if [ -z "$BUILD_TREE" -a -z "$TAR_TREE" ]
|
if [ -z "$BUILD_TREE" ] && [ -z "$TAR_TREE" ]
|
||||||
then
|
then
|
||||||
USAGE
|
USAGE
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$BUILD_TREE" != "" -a ! -d "$BUILD_TREE" ]
|
if [ "$BUILD_TREE" != "" ] && [ ! -d "$BUILD_TREE" ]
|
||||||
then
|
then
|
||||||
Log "Build tree does not exist."
|
Log "Build tree does not exist."
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$TAR_TREE" != "" -a ! -d "$TAR_TREE" ]
|
if [ "$TAR_TREE" != "" ] && [ ! -d "$TAR_TREE" ]
|
||||||
then
|
then
|
||||||
Log "Tar tree does not exist."
|
Log "Tar tree does not exist."
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$DESTINATION_DIR" != "" -a ! -d "$DESTINATION_DIR" ]
|
if [ "$DESTINATION_DIR" != "" ] && [ ! -d "$DESTINATION_DIR" ]
|
||||||
then
|
then
|
||||||
Log "Creating $DESTINATION_DIR"
|
Log "Creating $DESTINATION_DIR"
|
||||||
mkdir $DESTINATION_DIR
|
|
||||||
|
|
||||||
if [ $? -ne 0 ]
|
if ! mkdir "$DESTINATION_DIR"
|
||||||
then
|
then
|
||||||
Log "mkdir $DESTINATION_DIR failed"
|
Log "mkdir $DESTINATION_DIR failed"
|
||||||
exit 1
|
exit 1
|
||||||
|
@ -823,11 +818,11 @@ XCOMM
|
||||||
|
|
||||||
if [ $TARBALL = "yes" ];
|
if [ $TARBALL = "yes" ];
|
||||||
then
|
then
|
||||||
set -- `/bin/date`
|
set -- "$(/bin/date)"
|
||||||
DATE=$2_$3_$4_$6
|
DATE=$2_$3_$4_$6
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -z "$BUILD_TREE" -a ${0##STAR/} = INSTALL.CDE ]; then
|
if [ -z "$BUILD_TREE" ] && [ "${0##STAR/}" = INSTALL.CDE ]; then
|
||||||
typeset -u CDEPACKAGE
|
typeset -u CDEPACKAGE
|
||||||
typeset -u CDETARFILE
|
typeset -u CDETARFILE
|
||||||
typeset -u CDETARFILEZ
|
typeset -u CDETARFILEZ
|
||||||
|
@ -919,7 +914,7 @@ XCOMM
|
||||||
[ -z "$CONFIGURE_LOCATION" ] && CONFIGURE_LOCATION=CDE_CONFIGURATION_TOP
|
[ -z "$CONFIGURE_LOCATION" ] && CONFIGURE_LOCATION=CDE_CONFIGURATION_TOP
|
||||||
[ -z "$LOGFILES_LOCATION" ] && LOGFILES_LOCATION=CDE_LOGFILES_TOP
|
[ -z "$LOGFILES_LOCATION" ] && LOGFILES_LOCATION=CDE_LOGFILES_TOP
|
||||||
|
|
||||||
if [ -L $INSTALL_LOCATION -a "$CONFIGURE_ONLY" != "yes" ]
|
if [ -L $INSTALL_LOCATION ] && [ "$CONFIGURE_ONLY" != "yes" ]
|
||||||
then
|
then
|
||||||
touch $INSTALL_LOCATION/foo >/dev/null 2>/dev/null
|
touch $INSTALL_LOCATION/foo >/dev/null 2>/dev/null
|
||||||
if [ ! -f $INSTALL_LOCATION/foo ]
|
if [ ! -f $INSTALL_LOCATION/foo ]
|
||||||
|
@ -937,7 +932,7 @@ XCOMM
|
||||||
|
|
||||||
if [ -d $INSTALL_LOCATION ]
|
if [ -d $INSTALL_LOCATION ]
|
||||||
then
|
then
|
||||||
if [ -x $INSTALL_LOCATION/bin -a ! -d $INSTALL_LOCATION/bin ]
|
if [ -x $INSTALL_LOCATION/bin ] && [ ! -d $INSTALL_LOCATION/bin ]
|
||||||
then
|
then
|
||||||
rm -f $INSTALL_LOCATION/bin
|
rm -f $INSTALL_LOCATION/bin
|
||||||
fi
|
fi
|
||||||
|
@ -978,22 +973,22 @@ XCOMM
|
||||||
then
|
then
|
||||||
Log "Load the Desktop from $BUILD_TREE"
|
Log "Load the Desktop from $BUILD_TREE"
|
||||||
|
|
||||||
cd $STARTING_DIR
|
cd "$STARTING_DIR" || exit 1
|
||||||
let j=1
|
let j=1
|
||||||
for i in `echo $DATABASE_FILES`
|
for i in $DATABASE_FILES
|
||||||
do
|
do
|
||||||
LoadFileSet "$j" "$i"
|
LoadFileSet "$j" "$i"
|
||||||
let j=j+1
|
let j=j+1
|
||||||
done
|
done
|
||||||
else
|
else
|
||||||
Log "Load the Desktop from $TAR_TREE"
|
Log "Load the Desktop from $TAR_TREE"
|
||||||
compressed=$(awk '/COMPRESSED: /{print $2}' $TAR_TREE/$CDEPACKAGE)
|
compressed=$(awk '/COMPRESSED: /{print $2}' "$TAR_TREE/$CDEPACKAGE")
|
||||||
if [ "$compressed" = "yes" ]; then
|
if [ "$compressed" = "yes" ]; then
|
||||||
uncompress <$TAR_TREE/$CDETARFILEZ | tar xvf - $INSTALL_LOCATION
|
uncompress <"$TAR_TREE/$CDETARFILEZ" | tar xvf - $INSTALL_LOCATION
|
||||||
else
|
else
|
||||||
tar -xvf $TAR_TREE/$CDETARFILE $INSTALL_LOCATION
|
tar -xvf "$TAR_TREE/$CDETARFILE" $INSTALL_LOCATION
|
||||||
fi
|
fi
|
||||||
DATABASE_FILES=$(awk 'BEGIN {FS=":"} /FILESETS: /{print $2}' $TAR_TREE/$CDEPACKAGE)
|
DATABASE_FILES=$(awk 'BEGIN {FS=":"} /FILESETS: /{print $2}' "$TAR_TREE/$CDEPACKAGE")
|
||||||
fi
|
fi
|
||||||
|
|
||||||
Log " "
|
Log " "
|
||||||
|
@ -1009,7 +1004,7 @@ XCOMM
|
||||||
MakeTarball
|
MakeTarball
|
||||||
fi
|
fi
|
||||||
|
|
||||||
cd $STARTING_DIR
|
cd "$STARTING_DIR" || exit 1
|
||||||
|
|
||||||
if [ "$RUN_SCRIPTS" = "yes" ]
|
if [ "$RUN_SCRIPTS" = "yes" ]
|
||||||
then
|
then
|
||||||
|
|
|
@ -8,9 +8,9 @@
|
||||||
USAGE="Usage: $0 file.lst"
|
USAGE="Usage: $0 file.lst"
|
||||||
|
|
||||||
case $# in
|
case $# in
|
||||||
0) echo $USAGE;;
|
0) echo "$USAGE";;
|
||||||
1);;
|
1);;
|
||||||
*) echo $USAGE;;
|
*) echo "$USAGE";;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
awk '
|
awk '
|
||||||
|
@ -20,4 +20,4 @@ END {
|
||||||
if ( i > 0 )
|
if ( i > 0 )
|
||||||
for ( i in links) print links[i];
|
for ( i in links) print links[i];
|
||||||
}
|
}
|
||||||
' $@
|
' "$@"
|
||||||
|
|
|
@ -5,5 +5,5 @@
|
||||||
# and coalesce multiple blanks/tabs into a single blank
|
# and coalesce multiple blanks/tabs into a single blank
|
||||||
#
|
#
|
||||||
|
|
||||||
cat $@ | egrep -v '^[ ]*#|^[ ]*$' | sed 's/[ ][ ]*/ /g'|\
|
cat "$@" | grep -E -v '^[ ]*#|^[ ]*$' | sed 's/[ ][ ]*/ /g'|\
|
||||||
sed 's/ $//'
|
sed 's/ $//'
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
#!/bin/ksh
|
#!/bin/ksh
|
||||||
|
|
||||||
awk '{if ($1 == "install_target" && $3 != "") print $3}' \
|
awk '{if ($1 == "install_target" && $3 != "") print $3}' \
|
||||||
$2/databases/$1.udb >$1.list
|
"$2/databases/$1.udb" >"$1.list"
|
||||||
|
|
|
@ -19,19 +19,19 @@ XCOMM #
|
||||||
XCOMM ############################################
|
XCOMM ############################################
|
||||||
RemoveDemoFiles()
|
RemoveDemoFiles()
|
||||||
{
|
{
|
||||||
while read SRC
|
while read -r SRC
|
||||||
do
|
do
|
||||||
if [ "$SRC" != "" ]
|
if [ "$SRC" != "" ]
|
||||||
then
|
then
|
||||||
rm -f $SRC
|
rm -f "$SRC"
|
||||||
dirname=${SRC%/STAR}
|
dirname=${SRC%/STAR}
|
||||||
if [ -d $dirname ]
|
if [ -d "$dirname" ]
|
||||||
then
|
then
|
||||||
cd $dirname
|
cd "$dirname" || exit
|
||||||
while [ "$dirname" != "$CDE_TOP" ]
|
while [ "$dirname" != "$CDE_TOP" ]
|
||||||
do
|
do
|
||||||
cd ..
|
cd ..
|
||||||
rmdir ${dirname##STAR/} >/dev/null 2>/dev/null
|
rmdir "${dirname##STAR/}" >/dev/null 2>/dev/null
|
||||||
dirname=${dirname%/STAR}
|
dirname=${dirname%/STAR}
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
|
@ -45,8 +45,8 @@ VerifyInstalledFiles()
|
||||||
{
|
{
|
||||||
echo "Status mode owner group filename"
|
echo "Status mode owner group filename"
|
||||||
echo "-----------------------------------------"
|
echo "-----------------------------------------"
|
||||||
XCOMM exists correct correct correct /usr/dt/foo1
|
XCOMM exists correct correct correct /usr/dt/foo1
|
||||||
XCOMM MISSING WRONG WRONG WRONG /usr/dt/foo2
|
XCOMM MISSING WRONG WRONG WRONG /usr/dt/foo2
|
||||||
XCOMM exists the link is correct /usr/dt/link
|
XCOMM exists the link is correct /usr/dt/link
|
||||||
|
|
||||||
while read SRC
|
while read SRC
|
||||||
|
@ -61,17 +61,14 @@ XCOMM exists the link is correct /usr/dt/link
|
||||||
|
|
||||||
XCOMM ##########################################################################
|
XCOMM ##########################################################################
|
||||||
XCOMM
|
XCOMM
|
||||||
XCOMM Main Body
|
XCOMM Main Body
|
||||||
XCOMM
|
XCOMM
|
||||||
XCOMM ##########################################################################
|
XCOMM ##########################################################################
|
||||||
|
|
||||||
PRODUCT=CDE
|
|
||||||
FILESET=CDE-DEMOS
|
|
||||||
retval=0
|
retval=0
|
||||||
CDE_TOP=CDE_INSTALLATION_TOP
|
CDE_TOP=CDE_INSTALLATION_TOP
|
||||||
CDE_CONF_TOP=CDE_CONFIGURATION_TOP
|
|
||||||
|
|
||||||
HandleOption $*
|
HandleOption "$*"
|
||||||
|
|
||||||
if [ "$OPERATION" = "deconfigure" ]
|
if [ "$OPERATION" = "deconfigure" ]
|
||||||
then
|
then
|
||||||
|
|
|
@ -15,19 +15,19 @@ XCOMM ############################################
|
||||||
|
|
||||||
RemoveFontFiles()
|
RemoveFontFiles()
|
||||||
{
|
{
|
||||||
while read SRC
|
while read -r SRC
|
||||||
do
|
do
|
||||||
if [ "$SRC" != "" ]
|
if [ "$SRC" != "" ]
|
||||||
then
|
then
|
||||||
rm -f $SRC
|
rm -f "$SRC"
|
||||||
dirname=${SRC%/STAR}
|
dirname=${SRC%/STAR}
|
||||||
if [ -d $dirname ]
|
if [ -d "$dirname" ]
|
||||||
then
|
then
|
||||||
cd $dirname
|
cd "$dirname" || exit
|
||||||
while [ "$dirname" != "$CDE_TOP" ]
|
while [ "$dirname" != "$CDE_TOP" ]
|
||||||
do
|
do
|
||||||
cd ..
|
cd ..
|
||||||
rmdir ${dirname##STAR/} >/dev/null 2>/dev/null
|
rmdir "${dirname##STAR/}" >/dev/null 2>/dev/null
|
||||||
dirname=${dirname%/STAR}
|
dirname=${dirname%/STAR}
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
|
@ -41,11 +41,11 @@ VerifyInstalledFiles()
|
||||||
{
|
{
|
||||||
echo "Status mode owner group filename"
|
echo "Status mode owner group filename"
|
||||||
echo "-----------------------------------------"
|
echo "-----------------------------------------"
|
||||||
XCOMM exists correct correct correct /usr/dt/foo1
|
XCOMM exists correct correct correct /usr/dt/foo1
|
||||||
XCOMM MISSING WRONG WRONG WRONG /usr/dt/foo2
|
XCOMM MISSING WRONG WRONG WRONG /usr/dt/foo2
|
||||||
XCOMM exists the link is correct /usr/dt/link
|
XCOMM exists the link is correct /usr/dt/link
|
||||||
|
|
||||||
while read SRC
|
while read -r SRC
|
||||||
do
|
do
|
||||||
#include "verify.func"
|
#include "verify.func"
|
||||||
done <<-EOF
|
done <<-EOF
|
||||||
|
@ -57,18 +57,15 @@ XCOMM exists the link is correct /usr/dt/link
|
||||||
|
|
||||||
XCOMM ##########################################################################
|
XCOMM ##########################################################################
|
||||||
XCOMM
|
XCOMM
|
||||||
XCOMM Main Body
|
XCOMM Main Body
|
||||||
XCOMM
|
XCOMM
|
||||||
XCOMM ##########################################################################
|
XCOMM ##########################################################################
|
||||||
|
|
||||||
PRODUCT=CDE
|
|
||||||
FILESET=CDE-FONTS
|
|
||||||
retval=0
|
retval=0
|
||||||
CDE_TOP=CDE_INSTALLATION_TOP
|
CDE_TOP=CDE_INSTALLATION_TOP
|
||||||
CDE_CONF_TOP=CDE_CONFIGURATION_TOP
|
|
||||||
|
|
||||||
|
|
||||||
HandleOption $*
|
HandleOption "$*"
|
||||||
|
|
||||||
if [ "$OPERATION" = "deconfigure" ]
|
if [ "$OPERATION" = "deconfigure" ]
|
||||||
then
|
then
|
||||||
|
|
|
@ -13,19 +13,19 @@ XCOMM #######
|
||||||
|
|
||||||
RemoveHelpFiles()
|
RemoveHelpFiles()
|
||||||
{
|
{
|
||||||
while read SRC
|
while read -r SRC
|
||||||
do
|
do
|
||||||
if [ "$SRC" != "" ]
|
if [ "$SRC" != "" ]
|
||||||
then
|
then
|
||||||
rm -f $SRC
|
rm -f "$SRC"
|
||||||
dirname=${SRC%/STAR}
|
dirname=${SRC%/STAR}
|
||||||
if [ -d $dirname ]
|
if [ -d "$dirname" ]
|
||||||
then
|
then
|
||||||
cd $dirname
|
cd "$dirname" || exit
|
||||||
while [ "$dirname" != "$CDE_TOP" ]
|
while [ "$dirname" != "$CDE_TOP" ]
|
||||||
do
|
do
|
||||||
cd ..
|
cd ..
|
||||||
rmdir ${dirname##STAR/} >/dev/null 2>/dev/null
|
rmdir "${dirname##STAR/}" >/dev/null 2>/dev/null
|
||||||
dirname=${dirname%/STAR}
|
dirname=${dirname%/STAR}
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
|
@ -39,11 +39,11 @@ VerifyInstalledFiles()
|
||||||
{
|
{
|
||||||
echo "Status mode owner group filename"
|
echo "Status mode owner group filename"
|
||||||
echo "-----------------------------------------"
|
echo "-----------------------------------------"
|
||||||
XCOMM exists correct correct correct /usr/dt/foo1
|
XCOMM exists correct correct correct /usr/dt/foo1
|
||||||
XCOMM MISSING WRONG WRONG WRONG /usr/dt/foo2
|
XCOMM MISSING WRONG WRONG WRONG /usr/dt/foo2
|
||||||
XCOMM exists the link is correct /usr/dt/link
|
XCOMM exists the link is correct /usr/dt/link
|
||||||
|
|
||||||
while read SRC
|
while read -r SRC
|
||||||
do
|
do
|
||||||
#include "verify.func"
|
#include "verify.func"
|
||||||
done <<-EOF
|
done <<-EOF
|
||||||
|
@ -55,21 +55,18 @@ XCOMM exists the link is correct /usr/dt/link
|
||||||
|
|
||||||
XCOMM ##########################################################################
|
XCOMM ##########################################################################
|
||||||
XCOMM
|
XCOMM
|
||||||
XCOMM Main Body
|
XCOMM Main Body
|
||||||
XCOMM
|
XCOMM
|
||||||
XCOMM ##########################################################################
|
XCOMM ##########################################################################
|
||||||
|
|
||||||
PRODUCT=CDE
|
|
||||||
FILESET=CDE-HELP-C
|
|
||||||
retval=0
|
retval=0
|
||||||
CDE_TOP=CDE_INSTALLATION_TOP
|
CDE_TOP=CDE_INSTALLATION_TOP
|
||||||
CDE_CONF_TOP=CDE_CONFIGURATION_TOP
|
|
||||||
|
|
||||||
XCOMM
|
XCOMM
|
||||||
XCOMM set up symlinks that point into the $CDE_TOP tree
|
XCOMM set up symlinks that point into the $CDE_TOP tree
|
||||||
XCOMM
|
XCOMM
|
||||||
|
|
||||||
HandleOption $*
|
HandleOption "$*"
|
||||||
|
|
||||||
if [ "$OPERATION" = "deconfigure" ]
|
if [ "$OPERATION" = "deconfigure" ]
|
||||||
then
|
then
|
||||||
|
|
|
@ -13,19 +13,19 @@ XCOMM #######
|
||||||
|
|
||||||
RemoveHelpFiles()
|
RemoveHelpFiles()
|
||||||
{
|
{
|
||||||
while read SRC
|
while read -r SRC
|
||||||
do
|
do
|
||||||
if [ "$SRC" != "" ]
|
if [ "$SRC" != "" ]
|
||||||
then
|
then
|
||||||
rm -f $SRC
|
rm -f "$SRC"
|
||||||
dirname=${SRC%/STAR}
|
dirname=${SRC%/STAR}
|
||||||
if [ -d $dirname ]
|
if [ -d "$dirname" ]
|
||||||
then
|
then
|
||||||
cd $dirname
|
cd "$dirname" || exit
|
||||||
while [ "$dirname" != "$CDE_TOP" ]
|
while [ "$dirname" != "$CDE_TOP" ]
|
||||||
do
|
do
|
||||||
cd ..
|
cd ..
|
||||||
rmdir ${dirname##STAR/} >/dev/null 2>/dev/null
|
rmdir "${dirname##STAR/}" >/dev/null 2>/dev/null
|
||||||
dirname=${dirname%/STAR}
|
dirname=${dirname%/STAR}
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
|
@ -39,11 +39,11 @@ VerifyInstalledFiles()
|
||||||
{
|
{
|
||||||
echo "Status mode owner group filename"
|
echo "Status mode owner group filename"
|
||||||
echo "-----------------------------------------"
|
echo "-----------------------------------------"
|
||||||
XCOMM exists correct correct correct /usr/dt/foo1
|
XCOMM exists correct correct correct /usr/dt/foo1
|
||||||
XCOMM MISSING WRONG WRONG WRONG /usr/dt/foo2
|
XCOMM MISSING WRONG WRONG WRONG /usr/dt/foo2
|
||||||
XCOMM exists the link is correct /usr/dt/link
|
XCOMM exists the link is correct /usr/dt/link
|
||||||
|
|
||||||
while read SRC
|
while read -r SRC
|
||||||
do
|
do
|
||||||
#include "verify.func"
|
#include "verify.func"
|
||||||
done <<-EOF1
|
done <<-EOF1
|
||||||
|
@ -55,17 +55,14 @@ XCOMM exists the link is correct /usr/dt/link
|
||||||
|
|
||||||
XCOMM ##########################################################################
|
XCOMM ##########################################################################
|
||||||
XCOMM
|
XCOMM
|
||||||
XCOMM Main Body
|
XCOMM Main Body
|
||||||
XCOMM
|
XCOMM
|
||||||
XCOMM ##########################################################################
|
XCOMM ##########################################################################
|
||||||
|
|
||||||
PRODUCT=CDE
|
|
||||||
FILESET=CDE-HELP
|
|
||||||
retval=0
|
retval=0
|
||||||
CDE_TOP=CDE_INSTALLATION_TOP
|
CDE_TOP=CDE_INSTALLATION_TOP
|
||||||
CDE_CONF_TOP=CDE_CONFIGURATION_TOP
|
|
||||||
|
|
||||||
HandleOption $*
|
HandleOption "$*"
|
||||||
|
|
||||||
if [ "$OPERATION" = "deconfigure" ]
|
if [ "$OPERATION" = "deconfigure" ]
|
||||||
then
|
then
|
||||||
|
|
|
@ -15,19 +15,19 @@ XCOMM ############################################
|
||||||
|
|
||||||
RemoveHelpRunFiles()
|
RemoveHelpRunFiles()
|
||||||
{
|
{
|
||||||
while read SRC
|
while read -r SRC
|
||||||
do
|
do
|
||||||
if [ "$SRC" != "" ]
|
if [ "$SRC" != "" ]
|
||||||
then
|
then
|
||||||
rm -f $SRC
|
rm -f "$SRC"
|
||||||
dirname=${SRC%/STAR}
|
dirname=${SRC%/STAR}
|
||||||
if [ -d $dirname ]
|
if [ -d "$dirname" ]
|
||||||
then
|
then
|
||||||
cd $dirname
|
cd "$dirname" || exit
|
||||||
while [ "$dirname" != "$CDE_TOP" ]
|
while [ "$dirname" != "$CDE_TOP" ]
|
||||||
do
|
do
|
||||||
cd ..
|
cd ..
|
||||||
rmdir ${dirname##STAR/} >/dev/null 2>/dev/null
|
rmdir "${dirname##STAR/}" >/dev/null 2>/dev/null
|
||||||
dirname=${dirname%/STAR}
|
dirname=${dirname%/STAR}
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
|
@ -41,11 +41,11 @@ VerifyInstalledFiles()
|
||||||
{
|
{
|
||||||
echo "Status mode owner group filename"
|
echo "Status mode owner group filename"
|
||||||
echo "-----------------------------------------"
|
echo "-----------------------------------------"
|
||||||
XCOMM exists correct correct correct /usr/dt/foo1
|
XCOMM exists correct correct correct /usr/dt/foo1
|
||||||
XCOMM MISSING WRONG WRONG WRONG /usr/dt/foo2
|
XCOMM MISSING WRONG WRONG WRONG /usr/dt/foo2
|
||||||
XCOMM exists the link is correct /usr/dt/link
|
XCOMM exists the link is correct /usr/dt/link
|
||||||
|
|
||||||
while read SRC
|
while read -r SRC
|
||||||
do
|
do
|
||||||
#include "verify.func"
|
#include "verify.func"
|
||||||
done <<-EOF
|
done <<-EOF
|
||||||
|
@ -57,17 +57,14 @@ XCOMM exists the link is correct /usr/dt/link
|
||||||
|
|
||||||
XCOMM ##########################################################################
|
XCOMM ##########################################################################
|
||||||
XCOMM
|
XCOMM
|
||||||
XCOMM Main Body
|
XCOMM Main Body
|
||||||
XCOMM
|
XCOMM
|
||||||
XCOMM ##########################################################################
|
XCOMM ##########################################################################
|
||||||
|
|
||||||
PRODUCT=CDE
|
|
||||||
FILESET=CDE-HELP-RUN
|
|
||||||
retval=0
|
retval=0
|
||||||
CDE_TOP=CDE_INSTALLATION_TOP
|
CDE_TOP=CDE_INSTALLATION_TOP
|
||||||
CDE_CONF_TOP=CDE_CONFIGURATION_TOP
|
|
||||||
|
|
||||||
HandleOption $*
|
HandleOption "$*"
|
||||||
|
|
||||||
if [ "$OPERATION" = "deconfigure" ]
|
if [ "$OPERATION" = "deconfigure" ]
|
||||||
then
|
then
|
||||||
|
|
|
@ -15,19 +15,19 @@ XCOMM ############################################
|
||||||
|
|
||||||
RemoveIconFiles()
|
RemoveIconFiles()
|
||||||
{
|
{
|
||||||
while read SRC
|
while read -r SRC
|
||||||
do
|
do
|
||||||
if [ "$SRC" != "" ]
|
if [ "$SRC" != "" ]
|
||||||
then
|
then
|
||||||
rm -f $SRC
|
rm -f "$SRC"
|
||||||
dirname=${SRC%/STAR}
|
dirname=${SRC%/STAR}
|
||||||
if [ -d $dirname ]
|
if [ -d "$dirname" ]
|
||||||
then
|
then
|
||||||
cd $dirname
|
cd "$dirname" || exit
|
||||||
while [ "$dirname" != "$CDE_TOP" ]
|
while [ "$dirname" != "$CDE_TOP" ]
|
||||||
do
|
do
|
||||||
cd ..
|
cd ..
|
||||||
rmdir ${dirname##STAR/} >/dev/null 2>/dev/null
|
rmdir "${dirname##STAR/}" >/dev/null 2>/dev/null
|
||||||
dirname=${dirname%/STAR}
|
dirname=${dirname%/STAR}
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
|
@ -41,11 +41,11 @@ VerifyInstalledFiles()
|
||||||
{
|
{
|
||||||
echo "Status mode owner group filename"
|
echo "Status mode owner group filename"
|
||||||
echo "-----------------------------------------"
|
echo "-----------------------------------------"
|
||||||
XCOMM exists correct correct correct /usr/dt/foo1
|
XCOMM exists correct correct correct /usr/dt/foo1
|
||||||
XCOMM MISSING WRONG WRONG WRONG /usr/dt/foo2
|
XCOMM MISSING WRONG WRONG WRONG /usr/dt/foo2
|
||||||
XCOMM exists the link is correct /usr/dt/link
|
XCOMM exists the link is correct /usr/dt/link
|
||||||
|
|
||||||
while read SRC
|
while read -r SRC
|
||||||
do
|
do
|
||||||
#include "verify.func"
|
#include "verify.func"
|
||||||
done <<-EOF
|
done <<-EOF
|
||||||
|
@ -57,17 +57,14 @@ XCOMM exists the link is correct /usr/dt/link
|
||||||
|
|
||||||
XCOMM ##########################################################################
|
XCOMM ##########################################################################
|
||||||
XCOMM
|
XCOMM
|
||||||
XCOMM Main Body
|
XCOMM Main Body
|
||||||
XCOMM
|
XCOMM
|
||||||
XCOMM ##########################################################################
|
XCOMM ##########################################################################
|
||||||
|
|
||||||
PRODUCT=CDE
|
|
||||||
FILESET=CDE-ICONS
|
|
||||||
retval=0
|
retval=0
|
||||||
CDE_TOP=CDE_INSTALLATION_TOP
|
CDE_TOP=CDE_INSTALLATION_TOP
|
||||||
CDE_CONF_TOP=CDE_CONFIGURATION_TOP
|
|
||||||
|
|
||||||
HandleOption $*
|
HandleOption "$*"
|
||||||
|
|
||||||
if [ "$OPERATION" = "deconfigure" ]
|
if [ "$OPERATION" = "deconfigure" ]
|
||||||
then
|
then
|
||||||
|
|
|
@ -15,19 +15,19 @@ XCOMM ############################################
|
||||||
|
|
||||||
RemoveIncludeFiles()
|
RemoveIncludeFiles()
|
||||||
{
|
{
|
||||||
while read SRC
|
while read -r SRC
|
||||||
do
|
do
|
||||||
if [ "$SRC" != "" ]
|
if [ "$SRC" != "" ]
|
||||||
then
|
then
|
||||||
rm -f $SRC
|
rm -f "$SRC"
|
||||||
dirname=${SRC%/STAR}
|
dirname=${SRC%/STAR}
|
||||||
if [ -d $dirname ]
|
if [ -d "$dirname" ]
|
||||||
then
|
then
|
||||||
cd $dirname
|
cd "$dirname" || exit
|
||||||
while [ "$dirname" != "$CDE_TOP" ]
|
while [ "$dirname" != "$CDE_TOP" ]
|
||||||
do
|
do
|
||||||
cd ..
|
cd ..
|
||||||
rmdir ${dirname##STAR/} >/dev/null 2>/dev/null
|
rmdir "${dirname##STAR/}" >/dev/null 2>/dev/null
|
||||||
dirname=${dirname%/STAR}
|
dirname=${dirname%/STAR}
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
|
@ -41,11 +41,11 @@ VerifyInstalledFiles()
|
||||||
{
|
{
|
||||||
echo "Status mode owner group filename"
|
echo "Status mode owner group filename"
|
||||||
echo "-----------------------------------------"
|
echo "-----------------------------------------"
|
||||||
XCOMM exists correct correct correct /usr/dt/foo1
|
XCOMM exists correct correct correct /usr/dt/foo1
|
||||||
XCOMM MISSING WRONG WRONG WRONG /usr/dt/foo2
|
XCOMM MISSING WRONG WRONG WRONG /usr/dt/foo2
|
||||||
XCOMM exists the link is correct /usr/dt/link
|
XCOMM exists the link is correct /usr/dt/link
|
||||||
|
|
||||||
while read SRC
|
while read -r SRC
|
||||||
do
|
do
|
||||||
#include "verify.func"
|
#include "verify.func"
|
||||||
done <<-EOF
|
done <<-EOF
|
||||||
|
@ -57,17 +57,14 @@ XCOMM exists the link is correct /usr/dt/link
|
||||||
|
|
||||||
XCOMM ##########################################################################
|
XCOMM ##########################################################################
|
||||||
XCOMM
|
XCOMM
|
||||||
XCOMM Main Body
|
XCOMM Main Body
|
||||||
XCOMM
|
XCOMM
|
||||||
XCOMM ##########################################################################
|
XCOMM ##########################################################################
|
||||||
|
|
||||||
PRODUCT=CDE
|
|
||||||
FILESET=CDE-INC
|
|
||||||
retval=0
|
retval=0
|
||||||
CDE_TOP=CDE_INSTALLATION_TOP
|
CDE_TOP=CDE_INSTALLATION_TOP
|
||||||
CDE_CONF_TOP=CDE_CONFIGURATION_TOP
|
|
||||||
|
|
||||||
HandleOption $*
|
HandleOption "$*"
|
||||||
|
|
||||||
if [ "$OPERATION" = "deconfigure" ]
|
if [ "$OPERATION" = "deconfigure" ]
|
||||||
then
|
then
|
||||||
|
|
|
@ -15,19 +15,19 @@ XCOMM ############################################
|
||||||
|
|
||||||
RemoveManFiles()
|
RemoveManFiles()
|
||||||
{
|
{
|
||||||
while read SRC
|
while read -r SRC
|
||||||
do
|
do
|
||||||
if [ "$SRC" != "" ]
|
if [ "$SRC" != "" ]
|
||||||
then
|
then
|
||||||
rm -f $SRC
|
rm -f "$SRC"
|
||||||
dirname=${SRC%/STAR}
|
dirname=${SRC%/STAR}
|
||||||
if [ -d $dirname ]
|
if [ -d "$dirname" ]
|
||||||
then
|
then
|
||||||
cd $dirname
|
cd "$dirname" || exit
|
||||||
while [ "$dirname" != "$CDE_TOP" ]
|
while [ "$dirname" != "$CDE_TOP" ]
|
||||||
do
|
do
|
||||||
cd ..
|
cd ..
|
||||||
rmdir ${dirname##STAR/} >/dev/null 2>/dev/null
|
rmdir "${dirname##STAR/}" >/dev/null 2>/dev/null
|
||||||
dirname=${dirname%/STAR}
|
dirname=${dirname%/STAR}
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
|
@ -41,11 +41,11 @@ VerifyInstalledFiles()
|
||||||
{
|
{
|
||||||
echo "Status mode owner group filename"
|
echo "Status mode owner group filename"
|
||||||
echo "-----------------------------------------"
|
echo "-----------------------------------------"
|
||||||
XCOMM exists correct correct correct /usr/dt/foo1
|
XCOMM exists correct correct correct /usr/dt/foo1
|
||||||
XCOMM MISSING WRONG WRONG WRONG /usr/dt/foo2
|
XCOMM MISSING WRONG WRONG WRONG /usr/dt/foo2
|
||||||
XCOMM exists the link is correct /usr/dt/link
|
XCOMM exists the link is correct /usr/dt/link
|
||||||
|
|
||||||
while read SRC
|
while read -r SRC
|
||||||
do
|
do
|
||||||
#include "verify.func"
|
#include "verify.func"
|
||||||
done <<-EOF
|
done <<-EOF
|
||||||
|
@ -57,17 +57,14 @@ XCOMM exists the link is correct /usr/dt/link
|
||||||
|
|
||||||
XCOMM ##########################################################################
|
XCOMM ##########################################################################
|
||||||
XCOMM
|
XCOMM
|
||||||
XCOMM Main Body
|
XCOMM Main Body
|
||||||
XCOMM
|
XCOMM
|
||||||
XCOMM ##########################################################################
|
XCOMM ##########################################################################
|
||||||
|
|
||||||
PRODUCT=CDE
|
|
||||||
FILESET=CDE-DEMOS
|
|
||||||
retval=0
|
retval=0
|
||||||
CDE_TOP=CDE_INSTALLATION_TOP
|
CDE_TOP=CDE_INSTALLATION_TOP
|
||||||
CDE_CONF_TOP=CDE_CONFIGURATION_TOP
|
|
||||||
|
|
||||||
HandleOption $*
|
HandleOption "$*"
|
||||||
|
|
||||||
if [ "$OPERATION" = "deconfigure" ]
|
if [ "$OPERATION" = "deconfigure" ]
|
||||||
then
|
then
|
||||||
|
|
|
@ -15,30 +15,30 @@ XCOMM ############################################
|
||||||
|
|
||||||
RemoveManDevFiles()
|
RemoveManDevFiles()
|
||||||
{
|
{
|
||||||
while read SRC
|
while read -r SRC
|
||||||
do
|
do
|
||||||
if [ "$SRC" != "" ]
|
if [ "$SRC" != "" ]
|
||||||
then
|
then
|
||||||
if [ -L $SRC -a -d $SRC ]
|
if [ -L "$SRC" ] && [ -d "$SRC" ]
|
||||||
then
|
then
|
||||||
results=`ls $SRC`
|
results=$(find -name "$SRC")
|
||||||
if [ ! -s "$SRC" ]
|
if [ ! -s "$SRC" ]
|
||||||
then
|
then
|
||||||
rm -f $SRC
|
rm -f "$SRC"
|
||||||
else
|
else
|
||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
rm -f $SRC
|
rm -f "$SRC"
|
||||||
fi
|
fi
|
||||||
dirname=${SRC%/STAR}
|
dirname=${SRC%/STAR}
|
||||||
if [ -d $dirname ]
|
if [ -d "$dirname" ]
|
||||||
then
|
then
|
||||||
cd $dirname
|
cd "$dirname" || exit
|
||||||
while [ "$dirname" != "$CDE_TOP" ]
|
while [ "$dirname" != "$CDE_TOP" ]
|
||||||
do
|
do
|
||||||
cd ..
|
cd ..
|
||||||
rmdir ${dirname##STAR/} >/dev/null 2>/dev/null
|
rmdir "${dirname##STAR/}" >/dev/null 2>/dev/null
|
||||||
dirname=${dirname%/STAR}
|
dirname=${dirname%/STAR}
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
|
@ -52,11 +52,11 @@ VerifyInstalledFiles()
|
||||||
{
|
{
|
||||||
echo "Status mode owner group filename"
|
echo "Status mode owner group filename"
|
||||||
echo "-----------------------------------------"
|
echo "-----------------------------------------"
|
||||||
XCOMM exists correct correct correct /usr/dt/foo1
|
XCOMM exists correct correct correct /usr/dt/foo1
|
||||||
XCOMM MISSING WRONG WRONG WRONG /usr/dt/foo2
|
XCOMM MISSING WRONG WRONG WRONG /usr/dt/foo2
|
||||||
XCOMM exists the link is correct /usr/dt/link
|
XCOMM exists the link is correct /usr/dt/link
|
||||||
|
|
||||||
while read SRC
|
while read -r SRC
|
||||||
do
|
do
|
||||||
#include "verify.func"
|
#include "verify.func"
|
||||||
done <<-EOF
|
done <<-EOF
|
||||||
|
@ -68,17 +68,14 @@ XCOMM exists the link is correct /usr/dt/link
|
||||||
|
|
||||||
XCOMM ##########################################################################
|
XCOMM ##########################################################################
|
||||||
XCOMM
|
XCOMM
|
||||||
XCOMM Main Body
|
XCOMM Main Body
|
||||||
XCOMM
|
XCOMM
|
||||||
XCOMM ##########################################################################
|
XCOMM ##########################################################################
|
||||||
|
|
||||||
PRODUCT=CDE
|
|
||||||
FILESET=CDE-MAN-DEV
|
|
||||||
retval=0
|
retval=0
|
||||||
CDE_TOP=CDE_INSTALLATION_TOP
|
CDE_TOP=CDE_INSTALLATION_TOP
|
||||||
CDE_CONF_TOP=CDE_CONFIGURATION_TOP
|
|
||||||
|
|
||||||
HandleOption $*
|
HandleOption "$*"
|
||||||
|
|
||||||
if [ "$OPERATION" = "deconfigure" ]
|
if [ "$OPERATION" = "deconfigure" ]
|
||||||
then
|
then
|
||||||
|
|
|
@ -15,19 +15,19 @@ XCOMM ############################################
|
||||||
|
|
||||||
RemoveMsgCatFiles()
|
RemoveMsgCatFiles()
|
||||||
{
|
{
|
||||||
while read SRC
|
while read -r SRC
|
||||||
do
|
do
|
||||||
if [ "$SRC" != "" ]
|
if [ "$SRC" != "" ]
|
||||||
then
|
then
|
||||||
rm -f $SRC
|
rm -f "$SRC"
|
||||||
dirname=${SRC%/STAR}
|
dirname=${SRC%/STAR}
|
||||||
if [ -d $dirname ]
|
if [ -d "$dirname" ]
|
||||||
then
|
then
|
||||||
cd $dirname
|
cd "$dirname" || exit
|
||||||
while [ "$dirname" != "$CDE_TOP" ]
|
while [ "$dirname" != "$CDE_TOP" ]
|
||||||
do
|
do
|
||||||
cd ..
|
cd ..
|
||||||
rmdir ${dirname##STAR/} >/dev/null 2>/dev/null
|
rmdir "${dirname##STAR/}" >/dev/null 2>/dev/null
|
||||||
dirname=${dirname%/STAR}
|
dirname=${dirname%/STAR}
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
|
@ -41,11 +41,11 @@ VerifyInstalledFiles()
|
||||||
{
|
{
|
||||||
echo "Status mode owner group filename"
|
echo "Status mode owner group filename"
|
||||||
echo "-----------------------------------------"
|
echo "-----------------------------------------"
|
||||||
XCOMM exists correct correct correct /usr/dt/foo1
|
XCOMM exists correct correct correct /usr/dt/foo1
|
||||||
XCOMM MISSING WRONG WRONG WRONG /usr/dt/foo2
|
XCOMM MISSING WRONG WRONG WRONG /usr/dt/foo2
|
||||||
XCOMM exists the link is correct /usr/dt/link
|
XCOMM exists the link is correct /usr/dt/link
|
||||||
|
|
||||||
while read SRC
|
while read -r SRC
|
||||||
do
|
do
|
||||||
#include "verify.func"
|
#include "verify.func"
|
||||||
done <<-EOF
|
done <<-EOF
|
||||||
|
@ -57,17 +57,14 @@ XCOMM exists the link is correct /usr/dt/link
|
||||||
|
|
||||||
XCOMM ##########################################################################
|
XCOMM ##########################################################################
|
||||||
XCOMM
|
XCOMM
|
||||||
XCOMM Main Body
|
XCOMM Main Body
|
||||||
XCOMM
|
XCOMM
|
||||||
XCOMM ##########################################################################
|
XCOMM ##########################################################################
|
||||||
|
|
||||||
PRODUCT=CDE
|
|
||||||
FILESET=CDE-MSG-C
|
|
||||||
retval=0
|
retval=0
|
||||||
CDE_TOP=CDE_INSTALLATION_TOP
|
CDE_TOP=CDE_INSTALLATION_TOP
|
||||||
CDE_CONF_TOP=CDE_CONFIGURATION_TOP
|
|
||||||
|
|
||||||
HandleOption $*
|
HandleOption "$*"
|
||||||
|
|
||||||
if [ "$OPERATION" = "deconfigure" ]
|
if [ "$OPERATION" = "deconfigure" ]
|
||||||
then
|
then
|
||||||
|
|
|
@ -15,19 +15,19 @@ XCOMM ############################################
|
||||||
|
|
||||||
RemovePrgFiles()
|
RemovePrgFiles()
|
||||||
{
|
{
|
||||||
while read SRC
|
while read -r SRC
|
||||||
do
|
do
|
||||||
if [ "$SRC" != "" ]
|
if [ "$SRC" != "" ]
|
||||||
then
|
then
|
||||||
rm -f $SRC
|
rm -f "$SRC"
|
||||||
dirname=${SRC%/STAR}
|
dirname=${SRC%/STAR}
|
||||||
if [ -d $dirname ]
|
if [ -d "$dirname" ]
|
||||||
then
|
then
|
||||||
cd $dirname
|
cd "$dirname" || exit
|
||||||
while [ "$dirname" != "$CDE_TOP" ]
|
while [ "$dirname" != "$CDE_TOP" ]
|
||||||
do
|
do
|
||||||
cd ..
|
cd ..
|
||||||
rmdir ${dirname##STAR/} >/dev/null 2>/dev/null
|
rmdir "${dirname##STAR/}" >/dev/null 2>/dev/null
|
||||||
dirname=${dirname%/STAR}
|
dirname=${dirname%/STAR}
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
|
@ -41,11 +41,11 @@ VerifyInstalledFiles()
|
||||||
{
|
{
|
||||||
echo "Status mode owner group filename"
|
echo "Status mode owner group filename"
|
||||||
echo "-----------------------------------------"
|
echo "-----------------------------------------"
|
||||||
XCOMM exists correct correct correct /usr/dt/foo1
|
XCOMM exists correct correct correct /usr/dt/foo1
|
||||||
XCOMM MISSING WRONG WRONG WRONG /usr/dt/foo2
|
XCOMM MISSING WRONG WRONG WRONG /usr/dt/foo2
|
||||||
XCOMM exists the link is correct /usr/dt/link
|
XCOMM exists the link is correct /usr/dt/link
|
||||||
|
|
||||||
while read SRC
|
while read -r SRC
|
||||||
do
|
do
|
||||||
#include "verify.func"
|
#include "verify.func"
|
||||||
done <<-EOF
|
done <<-EOF
|
||||||
|
@ -57,17 +57,14 @@ XCOMM exists the link is correct /usr/dt/link
|
||||||
|
|
||||||
XCOMM ##########################################################################
|
XCOMM ##########################################################################
|
||||||
XCOMM
|
XCOMM
|
||||||
XCOMM Main Body
|
XCOMM Main Body
|
||||||
XCOMM
|
XCOMM
|
||||||
XCOMM ##########################################################################
|
XCOMM ##########################################################################
|
||||||
|
|
||||||
PRODUCT=CDE
|
|
||||||
FILESET=CDE-PRG
|
|
||||||
retval=0
|
retval=0
|
||||||
CDE_TOP=CDE_INSTALLATION_TOP
|
CDE_TOP=CDE_INSTALLATION_TOP
|
||||||
CDE_CONF_TOP=CDE_CONFIGURATION_TOP
|
|
||||||
|
|
||||||
HandleOption $*
|
HandleOption "$*"
|
||||||
|
|
||||||
if [ "$OPERATION" = "deconfigure" ]
|
if [ "$OPERATION" = "deconfigure" ]
|
||||||
then
|
then
|
||||||
|
|
|
@ -14,19 +14,19 @@ XCOMM #######
|
||||||
XCOMM ############################################
|
XCOMM ############################################
|
||||||
RemoveShlibFiles()
|
RemoveShlibFiles()
|
||||||
{
|
{
|
||||||
while read SRC
|
while read -r SRC
|
||||||
do
|
do
|
||||||
if [ "$SRC" != "" ]
|
if [ "$SRC" != "" ]
|
||||||
then
|
then
|
||||||
rm -f $SRC
|
rm -f "$SRC"
|
||||||
dirname=${SRC%/STAR}
|
dirname=${SRC%/STAR}
|
||||||
if [ -d $dirname ]
|
if [ -d "$dirname" ]
|
||||||
then
|
then
|
||||||
cd $dirname
|
cd "$dirname" || exit
|
||||||
while [ "$dirname" != "$CDE_TOP" ]
|
while [ "$dirname" != "$CDE_TOP" ]
|
||||||
do
|
do
|
||||||
cd ..
|
cd ..
|
||||||
rmdir ${dirname##STAR/} >/dev/null 2>/dev/null
|
rmdir "${dirname##STAR/}" >/dev/null 2>/dev/null
|
||||||
dirname=${dirname%/STAR}
|
dirname=${dirname%/STAR}
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
|
@ -40,11 +40,11 @@ VerifyInstalledFiles()
|
||||||
{
|
{
|
||||||
echo "Status mode owner group filename"
|
echo "Status mode owner group filename"
|
||||||
echo "-----------------------------------------"
|
echo "-----------------------------------------"
|
||||||
XCOMM exists correct correct correct /usr/dt/foo1
|
XCOMM exists correct correct correct /usr/dt/foo1
|
||||||
XCOMM MISSING WRONG WRONG WRONG /usr/dt/foo2
|
XCOMM MISSING WRONG WRONG WRONG /usr/dt/foo2
|
||||||
XCOMM exists the link is correct /usr/dt/link
|
XCOMM exists the link is correct /usr/dt/link
|
||||||
|
|
||||||
while read SRC
|
while read -r SRC
|
||||||
do
|
do
|
||||||
#include "verify.func"
|
#include "verify.func"
|
||||||
done <<-EOF
|
done <<-EOF
|
||||||
|
@ -56,17 +56,14 @@ XCOMM exists the link is correct /usr/dt/link
|
||||||
|
|
||||||
XCOMM #########################################################################
|
XCOMM #########################################################################
|
||||||
XCOMM
|
XCOMM
|
||||||
XCOMM Main Body
|
XCOMM Main Body
|
||||||
XCOMM
|
XCOMM
|
||||||
XCOMM #########################################################################
|
XCOMM #########################################################################
|
||||||
|
|
||||||
PRODUCT=CDE
|
|
||||||
FILESET=CDE-SHLIBS
|
|
||||||
retval=0
|
retval=0
|
||||||
CDE_TOP=CDE_INSTALLATION_TOP
|
CDE_TOP=CDE_INSTALLATION_TOP
|
||||||
CDE_CONF_TOP=CDE_CONFIGURATION_TOP
|
|
||||||
|
|
||||||
HandleOption $*
|
HandleOption "$*"
|
||||||
|
|
||||||
if [ "$OPERATION" = "deconfigure" ]
|
if [ "$OPERATION" = "deconfigure" ]
|
||||||
then
|
then
|
||||||
|
|
|
@ -7,9 +7,6 @@ XCOMM @(#) $TOG: configMin.src /main/1 1998/03/11 16:18:12 mgreess $
|
||||||
XCOMM #######
|
XCOMM #######
|
||||||
#define HASH #
|
#define HASH #
|
||||||
|
|
||||||
PRODUCT=CDE
|
|
||||||
FILESET=CDE-MIN
|
|
||||||
DO_CONFIGURATION=""
|
|
||||||
retval=0
|
retval=0
|
||||||
|
|
||||||
FixEtcServices()
|
FixEtcServices()
|
||||||
|
@ -72,19 +69,19 @@ TMPFILE=/tmp/services
|
||||||
|
|
||||||
RemoveMinFiles()
|
RemoveMinFiles()
|
||||||
{
|
{
|
||||||
while read SRC
|
while read -r SRC
|
||||||
do
|
do
|
||||||
if [ "$SRC" != "" ]
|
if [ "$SRC" != "" ]
|
||||||
then
|
then
|
||||||
rm -f $SRC
|
rm -f "$SRC"
|
||||||
dirname=${SRC%/STAR}
|
dirname=${SRC%/STAR}
|
||||||
if [ -d $dirname ]
|
if [ -d "$dirname" ]
|
||||||
then
|
then
|
||||||
cd $dirname
|
cd "$dirname" || exit
|
||||||
while [ "$dirname" != "$CDE_TOP" ]
|
while [ "$dirname" != "$CDE_TOP" ]
|
||||||
do
|
do
|
||||||
cd ..
|
cd ..
|
||||||
rmdir ${dirname##STAR/} >/dev/null 2>/dev/null
|
rmdir "${dirname##STAR/}" >/dev/null 2>/dev/null
|
||||||
dirname=${dirname%/STAR}
|
dirname=${dirname%/STAR}
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
|
@ -102,7 +99,7 @@ XCOMM exists correct correct correct /usr/dt/foo1
|
||||||
XCOMM MISSING WRONG WRONG WRONG /usr/dt/foo2
|
XCOMM MISSING WRONG WRONG WRONG /usr/dt/foo2
|
||||||
XCOMM exists the link is correct /usr/dt/link
|
XCOMM exists the link is correct /usr/dt/link
|
||||||
|
|
||||||
while read SRC
|
while read -r SRC
|
||||||
do
|
do
|
||||||
#include "../verify.func"
|
#include "../verify.func"
|
||||||
done <<-EOF
|
done <<-EOF
|
||||||
|
@ -118,7 +115,7 @@ XCOMM Main Body
|
||||||
XCOMM
|
XCOMM
|
||||||
XCOMM ###############################################################
|
XCOMM ###############################################################
|
||||||
|
|
||||||
HandleOption $*
|
HandleOption "$*"
|
||||||
|
|
||||||
if [ "$OPERATION" = "configure" ]
|
if [ "$OPERATION" = "configure" ]
|
||||||
then
|
then
|
||||||
|
|
|
@ -9,9 +9,6 @@ XCOMM #######
|
||||||
#define HASH #
|
#define HASH #
|
||||||
#define STAR *
|
#define STAR *
|
||||||
|
|
||||||
PRODUCT=CDE
|
|
||||||
FILESET=CDE-RUN
|
|
||||||
DO_CONFIGURATION=""
|
|
||||||
retval=0
|
retval=0
|
||||||
|
|
||||||
CreateAppConfigDirectory()
|
CreateAppConfigDirectory()
|
||||||
|
@ -21,41 +18,42 @@ CreateAppConfigDirectory()
|
||||||
HASH all of its subdirectories
|
HASH all of its subdirectories
|
||||||
HASH
|
HASH
|
||||||
|
|
||||||
cd $DT_CONFIG_TOP
|
cd "$DT_CONFIG_TOP" || exit
|
||||||
if [ ! -d $APPCONFIG ]
|
if [ ! -d "$APPCONFIG" ]
|
||||||
then
|
then
|
||||||
mkdir $APPCONFIG
|
mkdir "$APPCONFIG"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
cd $APPCONFIG
|
cd "$APPCONFIG" || exit
|
||||||
|
|
||||||
for i in $APPCONFIG_DIRS
|
for i in $APPCONFIG_DIRS
|
||||||
do
|
do
|
||||||
if [ ! -d $i ]
|
(
|
||||||
|
if [ ! -d "$i" ]
|
||||||
then
|
then
|
||||||
mkdir $i
|
mkdir "$i"
|
||||||
fi
|
fi
|
||||||
cd $i
|
cd "$i" || exit
|
||||||
HASH
|
HASH
|
||||||
HASH for each locale
|
HASH for each locale
|
||||||
HASH
|
HASH
|
||||||
for j in $DT_TOP/$APPCONFIG/$i/STAR
|
for j in $DT_TOP/$APPCONFIG/$i/STAR
|
||||||
do
|
do
|
||||||
if [ ! -d `basename $j` ]
|
if [ ! -d "$(basename "$j")" ]
|
||||||
then
|
then
|
||||||
mkdir `basename $j`
|
mkdir "$(basename "$j")"
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
cd ..
|
)
|
||||||
done
|
done
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
doDttermTerminfo()
|
doDttermTerminfo()
|
||||||
{
|
{
|
||||||
if [ -f $DT_TOP/config/dtterm.ti ]
|
if [ -f "$DT_TOP/config/dtterm.ti" ]
|
||||||
then
|
then
|
||||||
tic $DT_TOP/config/dtterm.ti
|
tic "$DT_TOP/config/dtterm.ti"
|
||||||
if [ -f /usr/share/lib/terminfo/d/dtterm ]
|
if [ -f /usr/share/lib/terminfo/d/dtterm ]
|
||||||
then
|
then
|
||||||
chown bin /usr/share/lib/terminfo/d/dtterm
|
chown bin /usr/share/lib/terminfo/d/dtterm
|
||||||
|
@ -69,7 +67,7 @@ doDttermTerminfo()
|
||||||
chmod 644 /usr/share/terminfo/d/dtterm
|
chmod 644 /usr/share/terminfo/d/dtterm
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
if [ ! -f /usr/share/lib/terminfo/d/dtterm -a ! -f /usr/share/terminfo/d/dtterm ]
|
if [ ! -f /usr/share/lib/terminfo/d/dtterm ] && [ ! -f /usr/share/terminfo/d/dtterm ]
|
||||||
then
|
then
|
||||||
echo "Unable to compile $DT_TOP/config/dtterm.ti"
|
echo "Unable to compile $DT_TOP/config/dtterm.ti"
|
||||||
fi
|
fi
|
||||||
|
@ -80,19 +78,19 @@ doDttermTerminfo()
|
||||||
|
|
||||||
RemoveRunFiles()
|
RemoveRunFiles()
|
||||||
{
|
{
|
||||||
while read SRC
|
while read -r SRC
|
||||||
do
|
do
|
||||||
if [ "$SRC" != "" ]
|
if [ "$SRC" != "" ]
|
||||||
then
|
then
|
||||||
rm -f $SRC
|
rm -f "$SRC"
|
||||||
dirname=${SRC%/STAR}
|
dirname=${SRC%/STAR}
|
||||||
if [ -d $dirname ]
|
if [ -d "$dirname" ]
|
||||||
then
|
then
|
||||||
cd $dirname
|
cd "$dirname" || exit
|
||||||
while [ "$dirname" != "$CDE_TOP" ]
|
while [ "$dirname" != "$CDE_TOP" ]
|
||||||
do
|
do
|
||||||
cd ..
|
cd ..
|
||||||
rmdir ${dirname##STAR/} >/dev/null 2>/dev/null
|
rmdir "${dirname##STAR/}" >/dev/null 2>/dev/null
|
||||||
dirname=${dirname%/STAR}
|
dirname=${dirname%/STAR}
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
|
@ -122,7 +120,7 @@ XCOMM exists the link is correct /usr/dt/link
|
||||||
|
|
||||||
PrintUsage()
|
PrintUsage()
|
||||||
{
|
{
|
||||||
echo "Usage:" $0 "[OPERATION]"
|
echo "Usage:" "$0" "[OPERATION]"
|
||||||
echo ""
|
echo ""
|
||||||
echo "Operations:"
|
echo "Operations:"
|
||||||
echo " -e configure"
|
echo " -e configure"
|
||||||
|
@ -140,22 +138,16 @@ XCOMM Main Body
|
||||||
XCOMM
|
XCOMM
|
||||||
XCOMM ##########################################################################
|
XCOMM ##########################################################################
|
||||||
|
|
||||||
PRODUCT=CDE
|
|
||||||
FILESET=CDE-RUN
|
|
||||||
|
|
||||||
DT_TOP=CDE_INSTALLATION_TOP
|
DT_TOP=CDE_INSTALLATION_TOP
|
||||||
DT_CONFIG_TOP=CDE_CONFIGURATION_TOP
|
DT_CONFIG_TOP=CDE_CONFIGURATION_TOP
|
||||||
DT_TEMP_TOP=CDE_LOGFILES_TOP
|
DT_TEMP_TOP=CDE_LOGFILES_TOP
|
||||||
ROOT=/
|
|
||||||
|
|
||||||
retval=0
|
retval=0
|
||||||
|
|
||||||
APPCONFIG=appconfig
|
APPCONFIG=appconfig
|
||||||
APPCONFIG_DIRS="appmanager help icons types"
|
APPCONFIG_DIRS="appmanager help icons types"
|
||||||
PRINTERS=""
|
|
||||||
DEFAULT_PRINTER="DtPrint"
|
|
||||||
|
|
||||||
HandleOption $*
|
HandleOption "$*"
|
||||||
|
|
||||||
if [ "$OPERATION" = "usage" ]
|
if [ "$OPERATION" = "usage" ]
|
||||||
then
|
then
|
||||||
|
@ -175,12 +167,12 @@ DEFAULT_PRINTER="DtPrint"
|
||||||
mkdir -p $DT_TEMP_TOP/$APPCONFIG/appmanager
|
mkdir -p $DT_TEMP_TOP/$APPCONFIG/appmanager
|
||||||
fi
|
fi
|
||||||
|
|
||||||
cd $DT_TEMP_TOP
|
cd "$DT_TEMP_TOP" || exit
|
||||||
mv $APPCONFIG/appmanager .hidden-appmanager
|
mv $APPCONFIG/appmanager .hidden-appmanager
|
||||||
chmod -R 755 *
|
chmod -R 755 -- *
|
||||||
chmod 755 .hidden-appmanager
|
chmod 755 .hidden-appmanager
|
||||||
chown -R bin *
|
chown -R bin -- *
|
||||||
chgrp -R bin *
|
chgrp -R bin -- *
|
||||||
mv .hidden-appmanager $APPCONFIG/appmanager
|
mv .hidden-appmanager $APPCONFIG/appmanager
|
||||||
chmod 755 .
|
chmod 755 .
|
||||||
chown bin .
|
chown bin .
|
||||||
|
@ -209,14 +201,14 @@ DEFAULT_PRINTER="DtPrint"
|
||||||
HASH Configure Xsession.d
|
HASH Configure Xsession.d
|
||||||
HASH
|
HASH
|
||||||
|
|
||||||
cd $DT_CONFIG_TOP/config
|
cd $DT_CONFIG_TOP/config || exit
|
||||||
if [ ! -d Xsession.d ]
|
if [ ! -d Xsession.d ]
|
||||||
then
|
then
|
||||||
mkdir Xsession.d
|
mkdir Xsession.d
|
||||||
fi
|
fi
|
||||||
|
|
||||||
cd $DT_CONFIG_TOP
|
cd $DT_CONFIG_TOP || exit
|
||||||
chmod -R 755 *
|
chmod -R 755 -- *
|
||||||
|
|
||||||
doDttermTerminfo
|
doDttermTerminfo
|
||||||
|
|
||||||
|
|
|
@ -6,19 +6,19 @@ XCOMM $TOG: configShlibs.src /main/1 1998/03/11 16:18:33 mgreess $
|
||||||
XCOMM ############################################
|
XCOMM ############################################
|
||||||
RemoveShlibFiles()
|
RemoveShlibFiles()
|
||||||
{
|
{
|
||||||
while read SRC
|
while read -r SRC
|
||||||
do
|
do
|
||||||
if [ "$SRC" != "" ]
|
if [ "$SRC" != "" ]
|
||||||
then
|
then
|
||||||
rm -f $SRC
|
rm -f "$SRC"
|
||||||
dirname=${SRC%/STAR}
|
dirname=${SRC%/STAR}
|
||||||
if [ -d $dirname ]
|
if [ -d "$dirname" ]
|
||||||
then
|
then
|
||||||
cd $dirname
|
cd "$dirname" || exit
|
||||||
while [ "$dirname" != "$CDE_TOP" ]
|
while [ "$dirname" != "$CDE_TOP" ]
|
||||||
do
|
do
|
||||||
cd ..
|
cd ..
|
||||||
rmdir ${dirname##STAR/} >/dev/null 2>/dev/null
|
rmdir "${dirname##STAR/}" >/dev/null 2>/dev/null
|
||||||
dirname=${dirname%/STAR}
|
dirname=${dirname%/STAR}
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
|
@ -36,7 +36,7 @@ XCOMM exists correct correct correct /usr/dt/foo1
|
||||||
XCOMM MISSING WRONG WRONG WRONG /usr/dt/foo2
|
XCOMM MISSING WRONG WRONG WRONG /usr/dt/foo2
|
||||||
XCOMM exists the link is correct /usr/dt/link
|
XCOMM exists the link is correct /usr/dt/link
|
||||||
|
|
||||||
while read SRC
|
while read -r SRC
|
||||||
do
|
do
|
||||||
#include "../verify.func"
|
#include "../verify.func"
|
||||||
done <<-EOF
|
done <<-EOF
|
||||||
|
@ -54,14 +54,14 @@ XCOMM
|
||||||
XCOMM creates links in the install tree libtt.so -> libtt.so.1
|
XCOMM creates links in the install tree libtt.so -> libtt.so.1
|
||||||
XCOMM
|
XCOMM
|
||||||
|
|
||||||
cd CDE_INSTALLATION_TOP/lib
|
cd CDE_INSTALLATION_TOP/lib || exit
|
||||||
|
|
||||||
for lib in `/bin/ls *.so.*`
|
for lib in $(/bin/ls lib*.so.*)
|
||||||
do
|
do
|
||||||
link=`echo $lib | cut -d. -f1,2`
|
link=$(echo "$lib" | cut -d. -f1,2)
|
||||||
|
|
||||||
rm -f $link
|
rm -f "$link"
|
||||||
ln -s $lib $link
|
ln -s "$lib" "$link"
|
||||||
|
|
||||||
done
|
done
|
||||||
|
|
||||||
|
@ -73,11 +73,8 @@ XCOMM Main Body
|
||||||
XCOMM
|
XCOMM
|
||||||
XCOMM #########################################################################
|
XCOMM #########################################################################
|
||||||
|
|
||||||
PRODUCT=CDE
|
|
||||||
FILESET=CDE-SHLIBS
|
|
||||||
retval=0
|
retval=0
|
||||||
CDE_TOP=CDE_INSTALLATION_TOP
|
CDE_TOP=CDE_INSTALLATION_TOP
|
||||||
CDE_CONF_TOP=CDE_CONFIGURATION_TOP
|
|
||||||
|
|
||||||
HandleOption $*
|
HandleOption $*
|
||||||
|
|
||||||
|
|
|
@ -11,26 +11,23 @@ XCOMM
|
||||||
XCOMM #######
|
XCOMM #######
|
||||||
#define HASH #
|
#define HASH #
|
||||||
|
|
||||||
PRODUCT=CDE
|
|
||||||
FILESET=CDE-TT
|
|
||||||
DO_CONFIGURATION=""
|
|
||||||
retval=0
|
retval=0
|
||||||
|
|
||||||
RemoveTTFiles()
|
RemoveTTFiles()
|
||||||
{
|
{
|
||||||
while read SRC
|
while read -r SRC
|
||||||
do
|
do
|
||||||
if [ "$SRC" != "" ]
|
if [ "$SRC" != "" ]
|
||||||
then
|
then
|
||||||
rm -f $SRC
|
rm -f "$SRC"
|
||||||
dirname=${SRC%/STAR}
|
dirname=${SRC%/STAR}
|
||||||
if [ -d $dirname ]
|
if [ -d "$dirname" ]
|
||||||
then
|
then
|
||||||
cd $dirname
|
cd "$dirname" || exit
|
||||||
while [ "$dirname" != "$CDE_TOP" ]
|
while [ "$dirname" != "$CDE_TOP" ]
|
||||||
do
|
do
|
||||||
cd ..
|
cd ..
|
||||||
rmdir ${dirname##STAR/} >/dev/null 2>/dev/null
|
rmdir "${dirname##STAR/}" >/dev/null 2>/dev/null
|
||||||
dirname=${dirname%/STAR}
|
dirname=${dirname%/STAR}
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
|
@ -48,7 +45,7 @@ XCOMM exists correct correct correct /usr/dt/foo1
|
||||||
XCOMM MISSING WRONG WRONG WRONG /usr/dt/foo2
|
XCOMM MISSING WRONG WRONG WRONG /usr/dt/foo2
|
||||||
XCOMM exists the link is correct /usr/dt/link
|
XCOMM exists the link is correct /usr/dt/link
|
||||||
|
|
||||||
while read SRC
|
while read -r SRC
|
||||||
do
|
do
|
||||||
#include "../verify.func"
|
#include "../verify.func"
|
||||||
done <<-EOF
|
done <<-EOF
|
||||||
|
@ -64,7 +61,7 @@ XCOMM Main Body
|
||||||
XCOMM
|
XCOMM
|
||||||
XCOMM ######################################################################
|
XCOMM ######################################################################
|
||||||
|
|
||||||
HandleOption $*
|
HandleOption "$*"
|
||||||
|
|
||||||
if [ "$OPERATION" = "configure" ]
|
if [ "$OPERATION" = "configure" ]
|
||||||
then
|
then
|
||||||
|
|
|
@ -1,14 +0,0 @@
|
||||||
if [ "$SRC" != "" ]
|
|
||||||
then
|
|
||||||
set -A tokens $SRC
|
|
||||||
if [ "${tokens[3]}" = "file" ]
|
|
||||||
then
|
|
||||||
if [ -f ${tokens[0]} ]
|
|
||||||
then
|
|
||||||
filesize=`ls -l ${tokens[0]} | awk '{print $5}'`
|
|
||||||
echo "$filesize\t\t\c"
|
|
||||||
echo "${tokens[0]}"
|
|
||||||
let total=total+filesize
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
fi
|
|
|
@ -1,9 +1,9 @@
|
||||||
if [ "$SRC" != "" ]
|
if [ "$SRC" != "" ]
|
||||||
then
|
then
|
||||||
set -A tokens $SRC
|
set -A tokens "$SRC"
|
||||||
if [ "${tokens[3]}" = "file" ]
|
if [ "${tokens[3]}" = "file" ]
|
||||||
then
|
then
|
||||||
if [ -f ${tokens[0]} ]
|
if [ -f "${tokens[0]}" ]
|
||||||
then
|
then
|
||||||
printf "exists "
|
printf "exists "
|
||||||
else
|
else
|
||||||
|
@ -13,7 +13,7 @@
|
||||||
fi
|
fi
|
||||||
elif [ "${tokens[3]}" = "sym_link" ]
|
elif [ "${tokens[3]}" = "sym_link" ]
|
||||||
then
|
then
|
||||||
if [ -L ${tokens[0]} ]
|
if [ -L "${tokens[0]}" ]
|
||||||
then
|
then
|
||||||
printf "exists "
|
printf "exists "
|
||||||
else
|
else
|
||||||
|
@ -26,9 +26,9 @@
|
||||||
if [ "${tokens[3]}" = "file" ]
|
if [ "${tokens[3]}" = "file" ]
|
||||||
then
|
then
|
||||||
touch /tmp/config-test
|
touch /tmp/config-test
|
||||||
chmod ${tokens[1]} /tmp/config-test
|
chmod "${tokens[1]}" /tmp/config-test
|
||||||
tmpperms=`ls -l /tmp/config-test | awk '{print $1}'`
|
tmpperms=$(ls -l /tmp/config-test | awk '{print $1}')
|
||||||
realperms=`ls -l ${tokens[0]} | awk '{print $1}'`
|
realperms=$(ls -l "${tokens[0]}" | awk '{print $1}')
|
||||||
|
|
||||||
if [ "$tmpperms" = "$realperms" ]
|
if [ "$tmpperms" = "$realperms" ]
|
||||||
then
|
then
|
||||||
|
@ -37,7 +37,7 @@
|
||||||
printf " WRONG "
|
printf " WRONG "
|
||||||
fi
|
fi
|
||||||
|
|
||||||
owner=`ls -l ${tokens[0]} | awk '{print $3}'`
|
owner=$(ls -l "${tokens[0]}" | awk '{print $3}')
|
||||||
|
|
||||||
if [ "$owner" = "${tokens[4]}" ]
|
if [ "$owner" = "${tokens[4]}" ]
|
||||||
then
|
then
|
||||||
|
@ -46,7 +46,7 @@
|
||||||
printf " WRONG "
|
printf " WRONG "
|
||||||
fi
|
fi
|
||||||
|
|
||||||
group=`ls -l ${tokens[0]} | awk '{print $4}'`
|
group=$(ls -l "${tokens[0]}" | awk '{print $4}')
|
||||||
|
|
||||||
if [ "$group" = "${tokens[5]}" ]
|
if [ "$group" = "${tokens[5]}" ]
|
||||||
then
|
then
|
||||||
|
@ -56,7 +56,7 @@
|
||||||
fi
|
fi
|
||||||
elif [ "${tokens[3]}" = "sym_link" ]
|
elif [ "${tokens[3]}" = "sym_link" ]
|
||||||
then
|
then
|
||||||
linkto=`ls -l ${tokens[0]} | awk '{print $11}'`
|
linkto=$(ls -l "${tokens[0]}" | awk '{print $11}')
|
||||||
if [ "${tokens[2]}" = "$linkto" ]
|
if [ "${tokens[2]}" = "$linkto" ]
|
||||||
then
|
then
|
||||||
printf " the link is correct "
|
printf " the link is correct "
|
||||||
|
|
|
@ -1,430 +0,0 @@
|
||||||
XCOMM platform: $XConsortium: Amoeba.cf /main/12 1996/09/28 16:04:48 rws $
|
|
||||||
XCOMM platform: $XFree86: xc/config/cf/Amoeba.cf,v 3.6 1995/01/28 15:40:08 dawes Exp $
|
|
||||||
|
|
||||||
/* The presence of this configuration file in the X distribution
|
|
||||||
* does not imply full support for the system it describes.
|
|
||||||
* Additional patches from The XFree86 Project, Inc. will be required to
|
|
||||||
* compile the X distribution on Amoeba. According to them, these patches
|
|
||||||
* will also be made available at the regular Amoeba ftp site
|
|
||||||
* ftp.am.cs.vu.nl.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Configuration file for Amoeba 5.2
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef OSName
|
|
||||||
#define OSName Amoeba 5.2
|
|
||||||
#endif
|
|
||||||
XCOMM operating system: OSName
|
|
||||||
#ifndef OSMajorVersion
|
|
||||||
#define OSMajorVersion 5
|
|
||||||
#endif
|
|
||||||
#ifndef OSMinorVersion
|
|
||||||
#define OSMinorVersion 2
|
|
||||||
#endif
|
|
||||||
#ifndef OSTeenyVersion
|
|
||||||
#define OSTeenyVersion 0
|
|
||||||
#endif
|
|
||||||
#ifndef OSVendor
|
|
||||||
#define OSVendor Vrije Universiteit
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define AmoebaArchitecture YES
|
|
||||||
|
|
||||||
/* Configuration defaults */
|
|
||||||
#ifndef AmoebaTop
|
|
||||||
#define AmoebaTop __AM_TOP__
|
|
||||||
#endif
|
|
||||||
#ifndef AmoebaBin
|
|
||||||
#define AmoebaBin $(ATOP)/bin.sun4
|
|
||||||
#endif
|
|
||||||
#ifndef AmoebaConf
|
|
||||||
#define AmoebaConf __AM_CONF__
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define HasNdbm YES
|
|
||||||
#define NeedSdbm YES
|
|
||||||
#define HasShm NO
|
|
||||||
#define HasSecureRPC NO
|
|
||||||
#define SetTtyGroup NO
|
|
||||||
#define HasPutenv YES
|
|
||||||
#define HasSockets NO
|
|
||||||
#define HasStreams NO
|
|
||||||
|
|
||||||
#if defined(Sun3Architecture) || defined(SparcArchitecture)
|
|
||||||
#define XsunAmoebaServer YES
|
|
||||||
#define XsunAmoebaMonoServer YES
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define BuildFonts NO
|
|
||||||
#define BuildFontServer NO
|
|
||||||
#define BuildPexExt NO
|
|
||||||
#define BuildXIE NO
|
|
||||||
|
|
||||||
#define YaccCmd byacc
|
|
||||||
#define TermcapLibrary /* in libajax */
|
|
||||||
#define LexLib /* not needed */
|
|
||||||
|
|
||||||
#define PexCCOptions DefaultCCOptions
|
|
||||||
#define ServerOSDefines XFree86ServerOSDefines
|
|
||||||
|
|
||||||
#define UsrLibDir $(DESTDIR)/profile/module/x11/lib
|
|
||||||
#define LibDir $(DESTDIR)/profile/module/x11/lib
|
|
||||||
#define ManDirectoryRoot $(DESTDIR)/profile/module/x11/man
|
|
||||||
#define BinDir $(DESTDIR)/profile/module/x11/bin
|
|
||||||
#define IncRoot $(DESTDIR)/profile/module/x11/include
|
|
||||||
#define FontDir $(DESTDIR)/profile/module/x11/fonts/$(ARCH)
|
|
||||||
#define DefaultRGBDatabase $(DESTDIR)/profile/module/x11/lib/rgb/$(ARCH)/rgb
|
|
||||||
|
|
||||||
#define ManSuffix 1
|
|
||||||
#define ManPath ManDirectoryRoot
|
|
||||||
#define XmanLocalSearchPath ManDirectoryRoot
|
|
||||||
|
|
||||||
#define DefaultUserPath :/bin:$(BINDIR)
|
|
||||||
#define DefaultSystemPath /bin:$(BINDIR):
|
|
||||||
|
|
||||||
#define StandardIncludes -I$(ATOP)/src/h \
|
|
||||||
-I$(ATOP)/src/h/posix \
|
|
||||||
-I$(ATOP)/src/h/posix/machdep/$(ARCH) \
|
|
||||||
-I$(ATOP)/src/h/machdep/arch/$(ARCH) \
|
|
||||||
-I$(ATOP)/src/h/toolset/$(TOOLSET)
|
|
||||||
|
|
||||||
#define Malloc0ReturnsNull YES
|
|
||||||
#define ServerInstallFlags -s 32
|
|
||||||
#define FontDefines -DFONT_SNF
|
|
||||||
#define ConnectionFlags -DAMTCPCONN -DAMRPCCONN
|
|
||||||
#define ServerXdmcpDefines /* no -DXDMCP */
|
|
||||||
#define UseRgbTxt YES
|
|
||||||
#define NdbmDefines -DSDBM -DNDBM -I$(XINCLUDESRC)
|
|
||||||
#define DBMLibrary /* $(LIBSRC)/sdbm/libsdbm.a */
|
|
||||||
|
|
||||||
#if defined(i386Architecture)
|
|
||||||
#ifndef AckToolset
|
|
||||||
#define AckToolset YES
|
|
||||||
#define ExtraFPLoadFlags -fp
|
|
||||||
#endif
|
|
||||||
#define XF86MonoServer YES
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if defined(Sun3Architecture)
|
|
||||||
#ifndef AckToolset
|
|
||||||
#define AckToolset YES
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if AckToolset
|
|
||||||
#define CcCmd ack
|
|
||||||
#define ServerCcCmd ack
|
|
||||||
#define LdCmd ack
|
|
||||||
#define AckArchOption -mam_$(ARCH)
|
|
||||||
#define DefaultCCOptions AckArchOption
|
|
||||||
#define LibraryCCOptions AckArchOption
|
|
||||||
#define LdCombineFlags -Rled-r -c.out
|
|
||||||
#define ArCmd aal clrv
|
|
||||||
#define RanlibCmd /bin/true
|
|
||||||
#define AsCmd AmoebaConf/$(ARCH).$(TOOLSET)/toolset/do_as AckArchOption
|
|
||||||
#define AsIncl -I$(ATOP)/src/h/machdep/arch/$(ARCH)
|
|
||||||
#define AsmDefines -DACK_ASSEMBLER
|
|
||||||
#define LdPreLib /**/
|
|
||||||
#define LdPostLib /**/
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if defined(SparcArchitecture)
|
|
||||||
#define AllocateLocalDefines -DINCLUDE_ALLOCA_H
|
|
||||||
|
|
||||||
#define CcCmd cc
|
|
||||||
#define ServerCcCmd cc
|
|
||||||
#define LdCmd AmoebaConf/$(ARCH).$(TOOLSET)/toolset/do_gld
|
|
||||||
#define DefaultCCOptions -sun4
|
|
||||||
#define LibraryCCOptions -sun4
|
|
||||||
#define AmoebaCompilerDefs -Usun
|
|
||||||
#define ServerExtraDefines AllocateLocalDefines
|
|
||||||
#define LdPostLib /**/
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef AmoebaCompilerDefs
|
|
||||||
#define AmoebaCompilerDefs /**/
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define CommonAmoebaDefines -DAMOEBA -D$(ARCH) AmoebaCompilerDefs
|
|
||||||
#define StandardDefines CommonAmoebaDefines
|
|
||||||
#define StandardCppDefines StandardDefines
|
|
||||||
|
|
||||||
#ifndef ExtraFPLoadFlags
|
|
||||||
#define ExtraFPLoadFlags
|
|
||||||
#endif
|
|
||||||
#define MathLibrary $(ALIB)/math/libmath.a
|
|
||||||
#define OSLibraries $(ALIB)/ajax/libajax.a \
|
|
||||||
$(ALIB)/amoeba/libamoeba.a \
|
|
||||||
MathLibrary \
|
|
||||||
ExtraFPLoadFlags
|
|
||||||
#define ServerExtraSysLibs $(CBRT) OSLibraries
|
|
||||||
#define ExtraLoadFlags OSLibraries
|
|
||||||
|
|
||||||
ATOP = AmoebaTop
|
|
||||||
ALIB = AmoebaConf/$(ARCH).$(TOOLSET)/lib
|
|
||||||
#if AckToolset
|
|
||||||
/* The ACK toolset already links in the appropriate head.o by default */
|
|
||||||
HEAD =
|
|
||||||
#else
|
|
||||||
HEAD = $(ALIB)/head/head.o
|
|
||||||
#endif
|
|
||||||
|
|
||||||
ABIN = AmoebaBin
|
|
||||||
AINSTALL = /bin/sh $(CONFIGSRC)/util/aminstall.sh $(ABIN)
|
|
||||||
AINSTALLFLAGS =
|
|
||||||
TOB = /bin/sh $(CONFIGSRC)/util/aminstall.sh $(ABIN)
|
|
||||||
MKXDIRHIER = /bin/sh $(CONFIGSRC)/util/ammkdirhier.sh $(ABIN)
|
|
||||||
|
|
||||||
/* Make wizardy: */
|
|
||||||
COMPILE.c=$(CC) $(CFLAGS) $(CPPFLAGS) -c
|
|
||||||
LINK.c=$(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS)
|
|
||||||
|
|
||||||
#if defined(i386Architecture)
|
|
||||||
ARCH = i80386
|
|
||||||
TOOLSET = ack
|
|
||||||
ALDFLAGS = /* -mam_i80386 now in CCopts */ -.c -Rcv-s32
|
|
||||||
|
|
||||||
#include <xfree86.cf>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if defined(Sun3Architecture)
|
|
||||||
ARCH = mc68000
|
|
||||||
TOOLSET = ack
|
|
||||||
ALDFLAGS = -.c -Rcv-s32
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if defined(SparcArchitecture)
|
|
||||||
ARCH = sparc
|
|
||||||
TOOLSET = sun
|
|
||||||
SPARCLIBDIR = AmoebaBin/gnu/sparc
|
|
||||||
ALDFLAGS = -mam_sparc -n -Ttext 40000 -Bstatic -e start -L$(SPARCLIBDIR)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define BootstrapCFlags -DAMOEBA -DCROSS_$(ARCH) -DCROSS_COMPILE
|
|
||||||
|
|
||||||
/*
|
|
||||||
* The rest of this files consists of rules to allow cross-compilation
|
|
||||||
* and installation of binaries and data files from the Unix host to
|
|
||||||
* the Amoeba file system.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* #ifdef CROSS_COMPILING */
|
|
||||||
#define CrossCompiling YES
|
|
||||||
|
|
||||||
#define HostLinkRule(target, flags, src, libs) cc -o target src
|
|
||||||
|
|
||||||
#define LinkRule(program,options,objects,libraries) \
|
|
||||||
$(LD) $(ALDFLAGS) $(HEAD) -o program options objects libraries $(EXTRA_LOAD_FLAGS)
|
|
||||||
|
|
||||||
/* ComplexHostProgramTarget - Compile a program such that we can run
|
|
||||||
* it on this host, i.e., don't use the default cross compiler.
|
|
||||||
*/
|
|
||||||
#ifndef ComplexHostProgramTarget
|
|
||||||
#define ComplexHostProgramTarget(program) @@\
|
|
||||||
CC=cc @@\
|
|
||||||
STD_INCLUDES= @@\
|
|
||||||
CFLAGS=$(TOP_INCLUDES) $(INCLUDES) $(BOOTSTRAPCFLAGS) @@\
|
|
||||||
EXTRA_LOAD_FLAGS= @@\
|
|
||||||
PROGRAM = program @@\
|
|
||||||
@@\
|
|
||||||
AllTarget(program) @@\
|
|
||||||
@@\
|
|
||||||
program: $(OBJS) $(DEPLIBS) @@\
|
|
||||||
RemoveTargetProgram($@) @@\
|
|
||||||
HostLinkRule($@,$(_NOOP_),$(OBJS),$(DEPLIBS) $(LOCAL_LIBRARIES)) @@\
|
|
||||||
@@\
|
|
||||||
DependTarget() @@\
|
|
||||||
@@\
|
|
||||||
LintTarget() @@\
|
|
||||||
@@\
|
|
||||||
clean:: @@\
|
|
||||||
RemoveFile(ProgramTargetName(program))
|
|
||||||
#endif /* ComplexHostProgramTarget */
|
|
||||||
|
|
||||||
#ifndef SimpleHostProgramTarget
|
|
||||||
#define SimpleHostProgramTarget(program) @@\
|
|
||||||
OBJS = program.o @@\
|
|
||||||
SRCS = program.c @@\
|
|
||||||
@@\
|
|
||||||
ComplexHostProgramTarget(program)
|
|
||||||
#endif /* SimpleHostProgramTarget */
|
|
||||||
|
|
||||||
|
|
||||||
#ifndef Concat
|
|
||||||
#if (__STDC__ && !defined(UnixCpp)) || defined(AnsiCpp)
|
|
||||||
#define Concat(a,b)a##b
|
|
||||||
#else
|
|
||||||
#define Concat(a,b)a/**/b
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*
|
|
||||||
* LintLibReferences - variables for lint libraries
|
|
||||||
*/
|
|
||||||
#ifndef LintLibReferences
|
|
||||||
#define LintLibReferences(varname,libname,libsource) @@\
|
|
||||||
Concat(LINT,varname) = Concat(libsource/llib-,libname.ln)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*
|
|
||||||
* UnsharedLibReferences - variables for unshared libraries
|
|
||||||
*/
|
|
||||||
#ifndef UnsharedLibReferences
|
|
||||||
#define UnsharedLibReferences(varname,libname,libsource) @@\
|
|
||||||
Concat3(DEP,varname,LIB) = Concat($(BUILDLIBDIR)/lib,libname.a) @@\
|
|
||||||
Concat(varname,LIB) = Concat($(BUILDLIBDIR)/lib,libname.a) @@\
|
|
||||||
LintLibReferences(varname,libname,libsource)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef InstallLibrary
|
|
||||||
#define InstallLibrary(libname,dest) @@\
|
|
||||||
install:: Concat(lib,libname.a) @@\
|
|
||||||
@echo '** TODO: Install Library ' Concat(lib,libname.a)
|
|
||||||
#endif /* InstallLibrary */
|
|
||||||
|
|
||||||
#ifndef MergeIntoInstalledLibrary
|
|
||||||
#define MergeIntoInstalledLibrary(tolib,fromlib) @@\
|
|
||||||
install:: fromlib @@\
|
|
||||||
@echo '** TODO: merge ' fromlib into tolib
|
|
||||||
#endif /* MergeIntoInstalledLibrary */
|
|
||||||
|
|
||||||
#ifndef InstallLibraryAlias
|
|
||||||
#define InstallLibraryAlias(libname,alias,dest) @@\
|
|
||||||
install:: @@\
|
|
||||||
@echo '** TODO: Install lib alias ' libname alias dest
|
|
||||||
#endif /* InstallLibraryAlias */
|
|
||||||
|
|
||||||
#ifndef InstallLintLibrary
|
|
||||||
#define InstallLintLibrary(libname,dest) @@\
|
|
||||||
install.ln:: Concat(llib-l,libname.ln) @@\
|
|
||||||
@echo '** TODO: Install lintlib ' Concat(llib-l,libname.ln)
|
|
||||||
#endif /* InstallLintLibrary */
|
|
||||||
|
|
||||||
#ifndef InstallManPageLong
|
|
||||||
#define InstallManPageLong(file,destdir,dest) @@\
|
|
||||||
install.man:: file.man @@\
|
|
||||||
@echo '** TODO: Install man page ' file.man
|
|
||||||
#endif /* InstallManPageLong */
|
|
||||||
|
|
||||||
#ifndef InstallGenManPageLong
|
|
||||||
#define InstallGenManPageLong(file,destdir,dest,suffix) @@\
|
|
||||||
install.man:: file.man @@\
|
|
||||||
@echo '** TODO: Install man page ' file.man
|
|
||||||
#endif /* InstallGenManPageLong */
|
|
||||||
|
|
||||||
#ifndef InstallManPageAliases
|
|
||||||
#define InstallManPageAliases(file,destdir,aliases) @@\
|
|
||||||
install.man:: @@\
|
|
||||||
@(TMP=/tmp/tmp.$$$$; \ @@\
|
|
||||||
$(RM) $${TMP}; \ @@\
|
|
||||||
echo .so `basename destdir`/file.$(MANSUFFIX) > $${TMP}; \ @@\
|
|
||||||
for i in aliases; do (set -x; \ @@\
|
|
||||||
$(TOB) $${TMP} $(DESTDIR)destdir/$$i.$(MANSUFFIX)); \ @@\
|
|
||||||
done; \ @@\
|
|
||||||
$(RM) $${TMP})
|
|
||||||
#endif /* InstallManPageAliases */
|
|
||||||
|
|
||||||
#ifndef InstallGenManPageAliases
|
|
||||||
#define InstallGenManPageAliases(file,destdir,suffix,aliases) @@\
|
|
||||||
install.man:: @@\
|
|
||||||
@(TMP=/tmp/tmp.$$$$; \ @@\
|
|
||||||
$(RM) $${TMP}; \ @@\
|
|
||||||
echo .so `basename destdir`/file.suffix > $${TMP}; \ @@\
|
|
||||||
for i in aliases; do (set -x; \ @@\
|
|
||||||
$(TOB) $${TMP} $(DESTDIR)destdir/$$i.suffix); \ @@\
|
|
||||||
done; \ @@\
|
|
||||||
$(RM) $${TMP})
|
|
||||||
#endif /* InstallGenManPageAliases */
|
|
||||||
|
|
||||||
#ifndef InstallNamedNonExec
|
|
||||||
#define InstallNamedNonExec(srcname,dstname,dest) @@\
|
|
||||||
install:: srcname @@\
|
|
||||||
$(MKXDIRHIER) $(DESTDIR)dest @@\
|
|
||||||
$(TOB) srcname $(DESTDIR)dest/dstname
|
|
||||||
#endif /* InstallNamedNonExec */
|
|
||||||
|
|
||||||
#ifndef InstallNonExecFile
|
|
||||||
#define InstallNonExecFile(file,dest) @@\
|
|
||||||
install:: file @@\
|
|
||||||
$(MKXDIRHIER) dest @@\
|
|
||||||
$(TOB) file dest/file
|
|
||||||
#endif /* InstallNonExecFile */
|
|
||||||
|
|
||||||
#ifndef InstallNonExec
|
|
||||||
#define InstallNonExec(file,dest) @@\
|
|
||||||
install:: file @@\
|
|
||||||
$(TOB) file dest/file
|
|
||||||
#endif /* InstallNonExec */
|
|
||||||
|
|
||||||
#ifndef InstallProgramWithFlags
|
|
||||||
#define InstallProgramWithFlags(program,dest,flags) @@\
|
|
||||||
install:: program @@\
|
|
||||||
$(MKXDIRHIER) dest/program @@\
|
|
||||||
$(AINSTALL) $(AINSTALLFLAGS) program dest/program/pd.$(ARCH)
|
|
||||||
#endif /* InstallProgramWithFlags */
|
|
||||||
|
|
||||||
#ifndef InstallScript
|
|
||||||
#define InstallScript(program,dest) @@\
|
|
||||||
install:: program.script @@\
|
|
||||||
$(TOB) program.script dest/program
|
|
||||||
#endif /* InstallScript */
|
|
||||||
|
|
||||||
#ifndef InstallNamedScript
|
|
||||||
#define InstallNamedScript(srcname,dstname,dest) @@\
|
|
||||||
install:: srcname @@\
|
|
||||||
$(TOB) srcname dest/dstname
|
|
||||||
#endif /* InstallNamedScript */
|
|
||||||
|
|
||||||
#ifndef InstallNamedProg
|
|
||||||
#define InstallNamedProg(srcname,dstname,dest) @@\
|
|
||||||
install:: srcname @@\
|
|
||||||
$(MKXDIRHIER) $(DESTDIR)dest/dstname @@\
|
|
||||||
$(AINSTALL) $(AINSTALLFLAGS) srcname $(DESTDIR)dest/dstname/pd.$(ARCH)
|
|
||||||
#endif /* InstallNamedProg */
|
|
||||||
|
|
||||||
#ifndef InstallMultipleDestFlags
|
|
||||||
#define InstallMultipleDestFlags(step,list,dest,flags) @@\
|
|
||||||
step:: list @@\
|
|
||||||
$(MKXDIRHIER) $(DESTDIR)dest @@\
|
|
||||||
@case '${MFLAGS}' in *[i]*) set +e;; esac; \ @@\
|
|
||||||
for i in list; do \ @@\
|
|
||||||
(set -x; $(TOB) $$i dest/$$i); \ @@\
|
|
||||||
done
|
|
||||||
#endif /* InstallMultipleDestFlags */
|
|
||||||
|
|
||||||
#ifndef InstallMultipleProg
|
|
||||||
#define InstallMultipleProg(list,dest) @@\
|
|
||||||
install:: list @@\
|
|
||||||
@case '${MFLAGS}' in *[i]*) set +e;; esac; \ @@\
|
|
||||||
for i in list; do \ @@\
|
|
||||||
(set -x; \ @@\
|
|
||||||
$(MKXDIRHIER) $(DESTDIR)dest/$$i; \ @@\
|
|
||||||
$(AINSTALL) $(AINSTALLFLAGS) $$i dest/$$i/pd.$(ARCH));\ @@\
|
|
||||||
done
|
|
||||||
#endif /* InstallMultipleProg */
|
|
||||||
|
|
||||||
#ifndef InstallAppDefaults
|
|
||||||
#if InstallAppDefFiles
|
|
||||||
#define InstallAppDefaults(class) @@\
|
|
||||||
install:: class.ad @@\
|
|
||||||
$(MKXDIRHIER) $(XAPPLOADDIR) @@\
|
|
||||||
$(TOB) class.ad $(DESTDIR)$(XAPPLOADDIR)/class
|
|
||||||
#else
|
|
||||||
#define InstallAppDefaults(class)
|
|
||||||
#endif /* InstallAppDefFiles */
|
|
||||||
#endif /* InstallAppDefaults */
|
|
||||||
|
|
||||||
#ifndef InstallAppDefaultsLong
|
|
||||||
#if InstallAppDefFiles
|
|
||||||
#define InstallAppDefaultsLong(file,class) @@\
|
|
||||||
install:: file.ad @@\
|
|
||||||
$(MKXDIRHIER) $(DESTDIR)$(XAPPLOADDIR) @@\
|
|
||||||
$(TOB) file.ad $(DESTDIR)$(XAPPLOADDIR)/class
|
|
||||||
#else
|
|
||||||
#define InstallAppDefaultsLong(file,class)
|
|
||||||
#endif /* InstallAppDefFiles */
|
|
||||||
#endif /* InstallAppDefaultsLong */
|
|
||||||
|
|
||||||
/* #endif CROSS_COMPILE */
|
|
|
@ -197,29 +197,6 @@ XCOMM $TOG: Imake.cf /main/30 1998/04/28 13:55:25 barstow $
|
||||||
# endif
|
# endif
|
||||||
#endif /* __FreeBSD__ */
|
#endif /* __FreeBSD__ */
|
||||||
|
|
||||||
#ifdef AMOEBA
|
|
||||||
/* Should be before the 'sun' entry because we may be cross-compiling */
|
|
||||||
# define MacroIncludeFile <Amoeba.cf>
|
|
||||||
# define MacroFile Amoeba.cf
|
|
||||||
# if defined(i80386) || defined(__i80386__)
|
|
||||||
# undef i80386
|
|
||||||
# define i386Architecture
|
|
||||||
# else
|
|
||||||
# if defined(mc68000) || defined(__mc68000__)
|
|
||||||
# undef mc68000
|
|
||||||
# define Sun3Architecture
|
|
||||||
# define SunArchitecture
|
|
||||||
# else
|
|
||||||
# if defined(sparc) || defined(__sparc__)
|
|
||||||
# undef sparc
|
|
||||||
# define SparcArchitecture
|
|
||||||
# define SunArchitecture
|
|
||||||
# endif
|
|
||||||
# endif
|
|
||||||
# undef sun
|
|
||||||
# endif
|
|
||||||
#endif /* AMOEBA */
|
|
||||||
|
|
||||||
#ifdef sun
|
#ifdef sun
|
||||||
# define MacroIncludeFile <sun.cf>
|
# define MacroIncludeFile <sun.cf>
|
||||||
# define MacroFile sun.cf
|
# define MacroFile sun.cf
|
||||||
|
@ -469,12 +446,6 @@ XCOMM $TOG: Imake.cf /main/30 1998/04/28 13:55:25 barstow $
|
||||||
# undef SVR4
|
# undef SVR4
|
||||||
#endif /* Oki */
|
#endif /* Oki */
|
||||||
|
|
||||||
#ifdef WIN32
|
|
||||||
# define MacroIncludeFile <Win32.cf>
|
|
||||||
# define MacroFile Win32.cf
|
|
||||||
# define Win32Architecture
|
|
||||||
#endif /* WIN32 */
|
|
||||||
|
|
||||||
#ifdef linux
|
#ifdef linux
|
||||||
# define MacroIncludeFile <linux.cf>
|
# define MacroIncludeFile <linux.cf>
|
||||||
# define MacroFile linux.cf
|
# define MacroFile linux.cf
|
||||||
|
|
|
@ -15,7 +15,6 @@ site.def
|
||||||
RULEFILES = \
|
RULEFILES = \
|
||||||
Imake.rules \
|
Imake.rules \
|
||||||
Motif.rules \
|
Motif.rules \
|
||||||
Win32.rules \
|
|
||||||
X11.rules \
|
X11.rules \
|
||||||
bsdLib.rules \
|
bsdLib.rules \
|
||||||
cde.rules \
|
cde.rules \
|
||||||
|
@ -55,13 +54,11 @@ xf86.tmpl
|
||||||
|
|
||||||
CFFILES = \
|
CFFILES = \
|
||||||
Imake.cf \
|
Imake.cf \
|
||||||
Amoeba.cf \
|
|
||||||
DGUX.cf \
|
DGUX.cf \
|
||||||
FreeBSD.cf \
|
FreeBSD.cf \
|
||||||
Mips.cf \
|
Mips.cf \
|
||||||
NetBSD.cf \
|
NetBSD.cf \
|
||||||
Oki.cf \
|
Oki.cf \
|
||||||
Win32.cf \
|
|
||||||
bsd.cf \
|
bsd.cf \
|
||||||
convex.cf \
|
convex.cf \
|
||||||
cray.cf \
|
cray.cf \
|
||||||
|
|
|
@ -1,133 +0,0 @@
|
||||||
XCOMM platform: $TOG: Win32.cf /main/57 1997/12/04 11:03:33 kaleb $
|
|
||||||
|
|
||||||
#ifndef OSName
|
|
||||||
#define OSName DefaultOSName
|
|
||||||
#endif
|
|
||||||
#ifndef OSMajorVersion
|
|
||||||
#define OSMajorVersion DefaultOSMajorVersion
|
|
||||||
#endif
|
|
||||||
#ifndef OSMinorVersion
|
|
||||||
#define OSMinorVersion DefaultOSMinorVersion
|
|
||||||
#endif
|
|
||||||
#ifndef OSTeenyVersion
|
|
||||||
#define OSTeenyVersion DefaultOSTeenyVersion
|
|
||||||
#endif
|
|
||||||
XCOMM operating system: OSName OSMajorVersion./**/OSMinorVersion
|
|
||||||
|
|
||||||
#ifndef CompilerMajorVersion
|
|
||||||
/* 0 == NT 3.1 Win32 SDK, 2 == MSVC++ 2, 4 == MSVC 4 */
|
|
||||||
#define CompilerMajorVersion 4
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define BootstrapCFlags -DWIN32
|
|
||||||
#ifdef _M_IX86
|
|
||||||
#define CpuDefines -D_X86_
|
|
||||||
#endif
|
|
||||||
/* brain-damaged windows headers will not compile with -Za */
|
|
||||||
#define StandardDefines -DWIN32 -DWIN32_LEAN_AND_MEAN -D_DLL -D_MT -D__STDC__ CpuDefines
|
|
||||||
#if CompilerMajorVersion < 4
|
|
||||||
#define DefaultCCOptions -nologo -batch -G4 -W2
|
|
||||||
#else
|
|
||||||
#define DefaultCCOptions -nologo -G4 -W2
|
|
||||||
#endif
|
|
||||||
#if CompilerMajorVersion < 4
|
|
||||||
#define DebuggableCDebugFlags -Zi
|
|
||||||
#else
|
|
||||||
#define DebuggableCDebugFlags -Zi -Od
|
|
||||||
#endif
|
|
||||||
#define ThreadedX YES
|
|
||||||
#define HasThreadSafeAPI NO
|
|
||||||
#define CpCmd copy
|
|
||||||
#define LnCmd copy
|
|
||||||
#define MvCmd ren
|
|
||||||
#define RmCmd del
|
|
||||||
#ifndef RmTreeCmd
|
|
||||||
XCOMM choices here include:
|
|
||||||
XCOMM o `del /q /s` and live with pressing the "any" key
|
|
||||||
XCOMM o `deltree, copied from MS-DOS 5
|
|
||||||
XCOMM o `rm -rfx` from the SDK Subscription (MSTOOLS in your Path)
|
|
||||||
XCOMM o `rm -rf` from the GNU file utilities
|
|
||||||
XCOMM We're using the GNU file utilities
|
|
||||||
#define RmTreeCmd rm -rf
|
|
||||||
#endif
|
|
||||||
#define CcCmd cl
|
|
||||||
#define HasCplusplus YES
|
|
||||||
#define CplusplusCmd cl
|
|
||||||
#if CompilerMajorVersion < 4
|
|
||||||
#define PreProcessCmd CcCmd -nologo -batch -EP
|
|
||||||
#define CppCmd CcCmd -nologo -batch -E
|
|
||||||
#else
|
|
||||||
#define PreProcessCmd CcCmd -nologo -EP
|
|
||||||
#define CppCmd CcCmd -nologo -E
|
|
||||||
#endif
|
|
||||||
#define PatheticCpp YES
|
|
||||||
#define ConstructMFLAGS YES
|
|
||||||
#if (CompilerMajorVersion == 0)
|
|
||||||
#define ArCmdBase lib32
|
|
||||||
#else
|
|
||||||
#define ArCmdBase lib
|
|
||||||
#endif
|
|
||||||
#define ArCmd ArCmdBase
|
|
||||||
#define CplusplusCmd cl
|
|
||||||
#define MkdirHierCmd $(CONFIGSRC:/=\)\util\mkdirhier
|
|
||||||
#define InstallCmd copy
|
|
||||||
#define InstPgmFlags /**/
|
|
||||||
#define InstBinFlags /**/
|
|
||||||
#define InstUidFlags /**/
|
|
||||||
#define InstLibFlags /**/
|
|
||||||
#define InstIncFlags /**/
|
|
||||||
#define InstManFlags /**/
|
|
||||||
#define InstDatFlags /**/
|
|
||||||
#define InstallFlags /**/
|
|
||||||
#if (CompilerMajorVersion == 0)
|
|
||||||
#define ExtraLibraries crtdll.lib kernel32.lib wsock32.lib
|
|
||||||
#elif (CompilerMajorVersion < 4)
|
|
||||||
#define ExtraLibraries msvcrt.lib kernel32.lib wsock32.lib
|
|
||||||
#else
|
|
||||||
#define ExtraLibraries msvcrt.lib kernel32.lib wsock32.lib -link -nodefaultlib:libc
|
|
||||||
#endif
|
|
||||||
#define MakeCmd nmake -nologo
|
|
||||||
#if (CompilerMajorVersion == 0)
|
|
||||||
#define LdCmd link32
|
|
||||||
#else
|
|
||||||
#define LdCmd link
|
|
||||||
#endif
|
|
||||||
#define MathLibrary
|
|
||||||
#define HasSymLinks NO
|
|
||||||
#define HasVarDirectory NO
|
|
||||||
#define HasPutenv YES
|
|
||||||
#define Osuf obj
|
|
||||||
#ifndef CCsuf
|
|
||||||
#define CCsuf cxx
|
|
||||||
#endif
|
|
||||||
#define BuildServer NO
|
|
||||||
#define ConnectionFlags -DTCPCONN
|
|
||||||
|
|
||||||
/* override as necessary in site.def/host.def */
|
|
||||||
#ifndef StdIncDir
|
|
||||||
#define StdIncDir C:/MSDEVSTD/INCLUDE
|
|
||||||
#endif
|
|
||||||
#define LdPreLib /**/
|
|
||||||
#define LdPostLib /**/
|
|
||||||
#ifndef UseInstalled
|
|
||||||
#define ImakeCmd $(IMAKESRC:/=\)\imake
|
|
||||||
#define DependCmd $(DEPENDSRC:/=\)\makedepend
|
|
||||||
#endif
|
|
||||||
#define DependFlags -D_WIN32
|
|
||||||
#define FilesToClean *.bak *.obj *.lib make.log
|
|
||||||
#define ShLibDir $(BINDIR)
|
|
||||||
|
|
||||||
#define XFileSearchPathBase Concat4($(LIBDIR)/;L/;T/;N;C,;S:$(LIBDIR)/;l/;T/;N;C,;S:$(LIBDIR)/;T/;N;C,;S:$(LIBDIR)/;L/;T/;N;S:$(LIBDIR)/;l/;T/;N;S:$(LIBDIR)/;T/;N;S)
|
|
||||||
|
|
||||||
#define XawI18nDefines -DHAS_WCHAR_H
|
|
||||||
#define UseRgbTxt YES
|
|
||||||
#define HasCbrt NO
|
|
||||||
#define HasFfs NO
|
|
||||||
#define HasXdmAuth NO
|
|
||||||
|
|
||||||
/* the following components haven't been ported yet */
|
|
||||||
#define BuildLBX NO
|
|
||||||
#define BuildXprint NO
|
|
||||||
#define XprtServer NO
|
|
||||||
|
|
||||||
#include <Win32.rules>
|
|
|
@ -1,525 +0,0 @@
|
||||||
XCOMM platform: $TOG: Win32.rules /main/51 1997/12/02 14:48:29 kaleb $
|
|
||||||
|
|
||||||
#define HasSharedLibraries YES
|
|
||||||
#define NeedLibInsideFlag YES
|
|
||||||
#define SharedLibXaw NO
|
|
||||||
#define SharedLibXmu NO
|
|
||||||
#define SharedLibXt NO
|
|
||||||
#define SharedDataSeparation NO
|
|
||||||
#define SharedCodeDef /**/
|
|
||||||
#define SharedLibraryDef /**/
|
|
||||||
#define ShLibIncludeFile <WinLib.tmpl>
|
|
||||||
#define SharedLibraryLoadFlags -dll
|
|
||||||
#define PositionIndependentCFlags /**/
|
|
||||||
|
|
||||||
.c.obj:
|
|
||||||
$(CC) -c $*.c @<<
|
|
||||||
$(CFLAGS)
|
|
||||||
<<
|
|
||||||
|
|
||||||
#if HasCplusplus
|
|
||||||
.CCsuf.obj:
|
|
||||||
$(CXX) -c $*.CCsuf @<<
|
|
||||||
$(CFLAGS)
|
|
||||||
<<
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define ProgramTargetName(target) target.exe
|
|
||||||
|
|
||||||
#define RunProgram(progvar,options) $(progvar:/=\) options
|
|
||||||
|
|
||||||
#define RemoveFile(file) if exist file $(RM) file
|
|
||||||
|
|
||||||
#define RemoveFiles(files) @$(MAKE) $(MFLAGS) -f << @@\
|
|
||||||
.SUFFIXES: @@\
|
|
||||||
@@\
|
|
||||||
all: files @@\
|
|
||||||
!for %%i in ( Avoid.Error $$** ) do if exist %%i $(RM) %%i @@\
|
|
||||||
@@\
|
|
||||||
Avoid.Error files: @@\
|
|
||||||
<<
|
|
||||||
|
|
||||||
#define MakeDir(dir) -$(MKDIRHIER) dir
|
|
||||||
|
|
||||||
#define ObjectCompile(options) RemoveFile($@) @@\
|
|
||||||
$(CC) -c $*.c @<< @@\
|
|
||||||
$(CFLAGS) options @@\
|
|
||||||
<<
|
|
||||||
|
|
||||||
#define LibObjCompile(dir,options) RemoveFiles($@ dir\$@) @@\
|
|
||||||
$(CC) -c $*.c @<< @@\
|
|
||||||
$(CCOPTIONS) $(ALLDEFINES) options @@\
|
|
||||||
<< @@\
|
|
||||||
$(MV) $@ dir\$@
|
|
||||||
|
|
||||||
#define BuildIncludesTop(srclist,dstsubdir,dstupdir) @@\
|
|
||||||
includes:: srclist @@\
|
|
||||||
MakeDir($(BUILDINCDIR:/=\)) @@\
|
|
||||||
@$(MAKE) $(MFLAGS) -f << @@\
|
|
||||||
.SUFFIXES: @@\
|
|
||||||
@@\
|
|
||||||
all: srclist @@\
|
|
||||||
cd $(BUILDINCDIR:/=\) @@\
|
|
||||||
!RemoveFile($$**) @@\
|
|
||||||
!$(LN) $(BUILDINCTOP:/=\)\$(CURRENT_DIR:/=\)\$$** . @@\
|
|
||||||
@@\
|
|
||||||
Avoid.Error srclist: @@\
|
|
||||||
<<
|
|
||||||
|
|
||||||
#define BuildIncludes(srclist,dstsubdir,dstupdir) @@\
|
|
||||||
XVARdef0 = $(BUILDINCDIR)/dstsubdir @@\
|
|
||||||
XVARdef1 = $(BUILDINCTOP)/dstupdir/$(CURRENT_DIR) @@\
|
|
||||||
@@\
|
|
||||||
includes:: srclist @@\
|
|
||||||
MakeDir($(XVARuse0:/=\)) @@\
|
|
||||||
@$(MAKE) -A $(MFLAGS) -f << @@\
|
|
||||||
.SUFFIXES: @@\
|
|
||||||
@@\
|
|
||||||
all: srclist @@\
|
|
||||||
cd $(XVARuse0:/=\) @@\
|
|
||||||
!RemoveFile($$**) @@\
|
|
||||||
!$(LN) $(XVARuse1:/=\)\$$** . @@\
|
|
||||||
@@\
|
|
||||||
Avoid.Error srclist: @@\
|
|
||||||
<<
|
|
||||||
|
|
||||||
#define LinkFileList(step,list,dir,sub) @@\
|
|
||||||
XVARdef0 = dir @@\
|
|
||||||
XVARdef1 = sub @@\
|
|
||||||
XVARdef2 = list @@\
|
|
||||||
@@\
|
|
||||||
step:: $(XVARuse2:/=\) @@\
|
|
||||||
cd $(XVARuse0:/=\) @@\
|
|
||||||
!RemoveFile($**) @@\
|
|
||||||
!$(LN) $(XVARuse1:/=\)\\$** .
|
|
||||||
|
|
||||||
#define LinkRule(program,options,objects,libraries) \
|
|
||||||
$(CCLINK) Concat(-Fe,program) options objects libraries $(EXTRA_LOAD_FLAGS)
|
|
||||||
|
|
||||||
#define NormalProgramTarget(program,objects,deplibs,locallibs,syslibs) @@\
|
|
||||||
XVARdef0 = objects @@\
|
|
||||||
@@\
|
|
||||||
ProgramTargetName(program): $(XVARuse0:.o=.obj) deplibs @@\
|
|
||||||
RemoveTargetProgram($@) @@\
|
|
||||||
LinkRule($@,$(LDOPTIONS),$(XVARuse0:.o=.obj),locallibs $(LDLIBS) syslibs) @@\
|
|
||||||
@@\
|
|
||||||
clean:: @@\
|
|
||||||
RemoveFile(ProgramTargetName(program))
|
|
||||||
|
|
||||||
#define ProgramTargetHelper(program,srcs,objs,deplib,locallib,syslib) @@\
|
|
||||||
ProgramTargetName(program): $(objs:.o=.obj) $(deplib) @@\
|
|
||||||
RemoveTargetProgram($@) @@\
|
|
||||||
LinkRule($@,$(LDOPTIONS),$(objs:.o=.obj),locallib $(LDLIBS) syslib) @@\
|
|
||||||
@@\
|
|
||||||
InstallProgram(program,$(BINDIR)) @@\
|
|
||||||
InstallManPage(program,$(MANDIR))
|
|
||||||
|
|
||||||
#define ComplexProgramTarget(program) @@\
|
|
||||||
PROGRAM = ProgramTargetName(program) @@\
|
|
||||||
@@\
|
|
||||||
AllTarget(ProgramTargetName(program)) @@\
|
|
||||||
@@\
|
|
||||||
ProgramTargetHelper(program,SRCS,OBJS,DEPLIBS,$(LOCAL_LIBRARIES),NullParameter) @@\
|
|
||||||
@@\
|
|
||||||
DependTarget() @@\
|
|
||||||
LintTarget() @@\
|
|
||||||
@@\
|
|
||||||
clean:: @@\
|
|
||||||
RemoveFile($(PROGRAM))
|
|
||||||
|
|
||||||
#define ComplexProgramTarget_1(program,locallib,syslib) @@\
|
|
||||||
OBJS = $(OBJS1) $(OBJS2) $(OBJS3) @@\
|
|
||||||
SRCS = $(SRCS1) $(SRCS2) $(SRCS3) @@\
|
|
||||||
PROGRAM1 = ProgramTargetName(program) @@\
|
|
||||||
@@\
|
|
||||||
AllTarget($(PROGRAM1) $(PROGRAM2) $(PROGRAM3)) @@\
|
|
||||||
@@\
|
|
||||||
ProgramTargetHelper(program,SRCS1,OBJS1,DEPLIBS1,locallib,syslib) @@\
|
|
||||||
@@\
|
|
||||||
DependTarget() @@\
|
|
||||||
LintTarget() @@\
|
|
||||||
@@\
|
|
||||||
clean:: @@\
|
|
||||||
for %%i in ($(PROGRAMS)) do $(RM) ProgramTargetName(%%i)
|
|
||||||
|
|
||||||
#define ComplexProgramTarget_2(program,locallib,syslib) @@\
|
|
||||||
PROGRAM2 = ProgramTargetName(program) @@\
|
|
||||||
@@\
|
|
||||||
ProgramTargetHelper(program,SRCS2,OBJS2,DEPLIBS2,locallib,syslib)
|
|
||||||
|
|
||||||
#define ComplexProgramTarget_3(program,locallib,syslib) @@\
|
|
||||||
PROGRAM3 = ProgramTargetName(program) @@\
|
|
||||||
@@\
|
|
||||||
ProgramTargetHelper(program,SRCS3,OBJS3,DEPLIBS3,locallib,syslib)
|
|
||||||
|
|
||||||
#define MoveToBakFile(file) -@if exist file $(MV) file file.bak
|
|
||||||
|
|
||||||
#define RMoveToBakFile(file) -RemoveFile(file.bak) @@\
|
|
||||||
-@if exist file $(MV) file file.bak
|
|
||||||
|
|
||||||
#define InstallMultipleDestFlags(step,list,dest,flags) @@\
|
|
||||||
XVARdef0 = $(DESTDIR)dest @@\
|
|
||||||
@@\
|
|
||||||
step:: list @@\
|
|
||||||
MakeDir($(XVARuse0:/=\)) @@\
|
|
||||||
!$(INSTALL) $(INSTALLFLAGS) flags $** $(XVARuse0:/=\)
|
|
||||||
|
|
||||||
#define CleanTarget() @@\
|
|
||||||
clean:: @@\
|
|
||||||
RemoveFiles(FilesToClean ExtraFilesToClean)
|
|
||||||
|
|
||||||
#define LibraryTargetName(libname)libname.lib
|
|
||||||
|
|
||||||
#define LibraryTargetNameSuffix(libname,suffix)Concat(libname,suffix.lib)
|
|
||||||
|
|
||||||
#define MakeLibrary(libname,objlist) $(AR) @<< @@\
|
|
||||||
-out:libname objlist @@\
|
|
||||||
<<
|
|
||||||
|
|
||||||
#define LinkSourceFile(src,dir) @@\
|
|
||||||
XVARdef0 = dir/src @@\
|
|
||||||
@@\
|
|
||||||
src: $(XVARuse0:/=\) @@\
|
|
||||||
RemoveFile($@) @@\
|
|
||||||
$(LN) $? $@ @@\
|
|
||||||
@@\
|
|
||||||
includes:: src @@\
|
|
||||||
@@\
|
|
||||||
depends:: src @@\
|
|
||||||
@@\
|
|
||||||
clean:: @@\
|
|
||||||
RemoveFile(src)
|
|
||||||
|
|
||||||
#define LinkFile(tofile,fromfile) @@\
|
|
||||||
XVARdef0 = fromfile @@\
|
|
||||||
tofile:: $(XVARuse0:/=\) @@\
|
|
||||||
RemoveFile($@) @@\
|
|
||||||
$(LN) $? $@ @@\
|
|
||||||
@@\
|
|
||||||
includes:: tofile @@\
|
|
||||||
@@\
|
|
||||||
depend:: tofile @@\
|
|
||||||
@@\
|
|
||||||
clean:: @@\
|
|
||||||
RemoveFile(tofile)
|
|
||||||
|
|
||||||
|
|
||||||
#define NormalLibraryTarget(libname,objlist) @@\
|
|
||||||
AllTarget(LibraryTargetName(libname)) @@\
|
|
||||||
@@\
|
|
||||||
XVARdef0 = objlist @@\
|
|
||||||
@@\
|
|
||||||
LibraryTargetName(libname): $(XVARuse0:.o=.obj) $(EXTRALIBRARYDEPS) @@\
|
|
||||||
RemoveFile($@) @@\
|
|
||||||
MakeLibrary($@,$(XVARuse0:.o=.obj)) @@\
|
|
||||||
LinkBuildLibrary($@)
|
|
||||||
|
|
||||||
#define NormalLibraryTarget2(libname,objlist1,objlist2) @@\
|
|
||||||
NormalLibraryTarget(libname,objlist1 objlist2)
|
|
||||||
|
|
||||||
#define NormalLibraryTarget3(libname,objlist1,objlist2,objlist3) @@\
|
|
||||||
NormalLibraryTarget(libname,objlist1 objlist2 objlist3)
|
|
||||||
|
|
||||||
#define NormalDepLibraryTarget(libname,deplist,objlist) @@\
|
|
||||||
AllTarget(LibraryTargetName(libname)) @@\
|
|
||||||
@@\
|
|
||||||
XVARdef0 = deplist @@\
|
|
||||||
XVARdef1 = objlist @@\
|
|
||||||
XVARdef2 = $(XVARuse1:/=\) @@\
|
|
||||||
@@\
|
|
||||||
LibraryTargetName(libname): $(XVARuse0:/=\) $(EXTRALIBRARYDEPS) @@\
|
|
||||||
RemoveFile($@) @@\
|
|
||||||
MakeLibrary($@,$(XVARuse2:.o=.obj)) @@\
|
|
||||||
LinkBuildLibrary($@)
|
|
||||||
|
|
||||||
#define ProfiledLibraryTarget(libname,objlist) @@\
|
|
||||||
AllTarget(LibraryTargetNameSuffix(libname,_p)) @@\
|
|
||||||
@@\
|
|
||||||
XVARdef0 = objlist @@\
|
|
||||||
@@\
|
|
||||||
LibraryTargetNameSuffix(libname,_p): $(XVARuse0:.o=.obj) $(EXTRALIBRARYDEPS) @@\
|
|
||||||
RemoveFile($@) @@\
|
|
||||||
cd profiled @@\
|
|
||||||
MakeLibrary(..\$@,$(XVARuse0:.o=.obj)) @@\
|
|
||||||
cd ..
|
|
||||||
|
|
||||||
#define DebuggedLibraryTarget(libname,objlist) @@\
|
|
||||||
AllTarget(LibraryTargetNameSuffix(libname,_d)) @@\
|
|
||||||
@@\
|
|
||||||
XVARdef0 = objlist @@\
|
|
||||||
@@\
|
|
||||||
LibraryTargetNameSuffix(libname,_d): $(XVARuse0:.o=.obj) $(EXTRALIBRARYDEPS) @@\
|
|
||||||
RemoveFile($@) @@\
|
|
||||||
cd debugger @@\
|
|
||||||
MakeLibrary(..\$@,$(XVARuse0:.o=.obj)) @@\
|
|
||||||
cd ..
|
|
||||||
|
|
||||||
#ifndef UseInstalled
|
|
||||||
#define ImakeDependency(target) @@\
|
|
||||||
target:: ProgramTargetName($(IMAKE)) @@\
|
|
||||||
@@\
|
|
||||||
ProgramTargetName($(IMAKE)): @@\
|
|
||||||
<<tmp.bat @@\
|
|
||||||
cd $(IMAKESRC:/=\) @@\
|
|
||||||
if exist Makefile $(MAKE) all @@\
|
|
||||||
if not exist Makefile $(MAKE) -f Makefile.ini BOOTSTRAPCFLAGS="$(BOOTSTRAPCFLAGS)" @@\
|
|
||||||
<<
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef UseInstalled
|
|
||||||
#define DependDependency() @@\
|
|
||||||
depend:: ProgramTargetName($(DEPEND)) @@\
|
|
||||||
@@\
|
|
||||||
ProgramTargetName($(DEPEND)): @@\
|
|
||||||
<<tmp.bat @@\
|
|
||||||
cd $(DEPENDSRC:/=\) @@\
|
|
||||||
$(MAKE) @@\
|
|
||||||
<<
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define DependTarget() @@\
|
|
||||||
DependDependency() @@\
|
|
||||||
@@\
|
|
||||||
depend:: @@\
|
|
||||||
$(DEPEND:/=\) @<< @@\
|
|
||||||
$(DEPENDFLAGS) -- $(ALLDEFINES) $(DEPEND_DEFINES) -- $(SRCS) @@\
|
|
||||||
<<
|
|
||||||
|
|
||||||
#define DependTarget3(srcs1,srcs2,srcs3) @@\
|
|
||||||
DependDependency() @@\
|
|
||||||
@@\
|
|
||||||
depend:: @@\
|
|
||||||
$(DEPEND:/=\) @<< @@\
|
|
||||||
$(DEPENDFLAGS) -- $(ALLDEFINES) $(DEPEND_DEFINES) -- srcs1 srcs2 srcs3 @@\
|
|
||||||
<<
|
|
||||||
|
|
||||||
#define ForceSubdirs(dirs) @@\
|
|
||||||
Avoid.Error dirs: FRC @@\
|
|
||||||
@cd $@ @@\
|
|
||||||
@echo making all in $(CURRENT_DIR)/$@... @@\
|
|
||||||
$(MAKE) $(MFLAGS) PassCDebugFlags all @@\
|
|
||||||
cd .. @@\
|
|
||||||
@@\
|
|
||||||
FRC:
|
|
||||||
|
|
||||||
#define MakeMakeSubdirs(dirs,target) @@\
|
|
||||||
XVARdef0 = dirs @@\
|
|
||||||
XVARdef1 = $$ @@\
|
|
||||||
@@\
|
|
||||||
target:: @@\
|
|
||||||
@$(MAKE) -A $(MFLAGS) -f << @@\
|
|
||||||
.SUFFIXES: @@\
|
|
||||||
@@\
|
|
||||||
all: $(XVARuse0:/=\) @@\
|
|
||||||
@@\
|
|
||||||
Avoid.Error $(XVARuse0:/=\): @@\
|
|
||||||
cd $(XVARuse1)@ @@\
|
|
||||||
RMoveToBakFile(Makefile) @@\
|
|
||||||
ImakeSubCmdHelper -DTOPDIR=../$(TOP) -DCURDIR=$(CURRENT_DIR)/$(XVARuse1)@ @@\
|
|
||||||
$(MAKE) $(MFLAGS) Makefiles @@\
|
|
||||||
cd .. @@\
|
|
||||||
<<
|
|
||||||
|
|
||||||
#ifdef UseInstalled
|
|
||||||
# define ImakeSubCmdHelper $(IMAKE_CMD)
|
|
||||||
#else
|
|
||||||
# define ImakeSubCmdHelper ..\$(IMAKE) -I../$(IRULESRC) $(IMAKE_DEFINES)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define NamedTargetSubdirs(name,dirs,verb,flags,subname) @@\
|
|
||||||
XVARdef0 = dirs @@\
|
|
||||||
XVARdef1 = $$ @@\
|
|
||||||
@@\
|
|
||||||
name:: @@\
|
|
||||||
@$(MAKE) -A $(MFLAGS) -f << @@\
|
|
||||||
.SUFFIXES: @@\
|
|
||||||
@@\
|
|
||||||
all: $(XVARuse0:/=\) @@\
|
|
||||||
@@\
|
|
||||||
Avoid.Error $(XVARuse0:/=\): @@\
|
|
||||||
cd $(XVARuse1)@ @@\
|
|
||||||
@echo verb in $(CURRENT_DIR)/$(XVARuse1)@... @@\
|
|
||||||
$(MAKE) $(MFLAGS) flags subname @@\
|
|
||||||
cd .. @@\
|
|
||||||
<<
|
|
||||||
|
|
||||||
#define UnsharedLibReferences(varname,libname,libsource) @@\
|
|
||||||
Concat3(DEP,varname,LIB) = _UseCat($(USRLIBDIR)/,libsource/,libname.lib) @@\
|
|
||||||
Concat(varname,LIB) = LoaderLibPrefix _Use(libname.lib,$(Concat3(DEP,varname,LIB))) @@\
|
|
||||||
LintLibReferences(varname,libname,libsource)
|
|
||||||
|
|
||||||
#define SharedLibReferences(varname,libname,libsource,revname,rev) @@\
|
|
||||||
revname = rev @@\
|
|
||||||
UnsharedLibReferences(varname,libname,libsource)
|
|
||||||
|
|
||||||
#define SubdirLibraryRule(objlist) @@\
|
|
||||||
XVARdef0 = objlist @@\
|
|
||||||
@@\
|
|
||||||
all:: DONE @@\
|
|
||||||
@@\
|
|
||||||
DONE: $(XVARuse0:.o=.obj) @@\
|
|
||||||
RemoveFile($@) @@\
|
|
||||||
echo - > $@ @@\
|
|
||||||
@@\
|
|
||||||
clean:: @@\
|
|
||||||
RemoveFile(DONE)
|
|
||||||
|
|
||||||
#define CppScriptTarget(dst,src,defs,deplist) @@\
|
|
||||||
dst:: @@\
|
|
||||||
@echo sorry, unable to make $@
|
|
||||||
|
|
||||||
#define CppFileTarget(dst,src,defs,deplist) @@\
|
|
||||||
XFAKEVAR = X @@\
|
|
||||||
dst:: src deplist @@\
|
|
||||||
RemoveFile($@) @@\
|
|
||||||
$(PREPROCESSCMD) -I. <<CppTmpFile.c @<< >$@ @@\
|
|
||||||
XCOMM define $(XFAKEVAR)COMM XCOMM @@\
|
|
||||||
XCOMM include <src> @@\
|
|
||||||
<< @@\
|
|
||||||
defs @@\
|
|
||||||
<< @@\
|
|
||||||
@@\
|
|
||||||
clean:: @@\
|
|
||||||
RemoveFiles(dst)
|
|
||||||
|
|
||||||
#define InstallNamedTarget(step,srcname,flags,dest,dstname) @@\
|
|
||||||
XVARdef0 = $(DESTDIR)dest @@\
|
|
||||||
@@\
|
|
||||||
step:: srcname @@\
|
|
||||||
MakeDir($(XVARuse0:/=\)) @@\
|
|
||||||
$(INSTALL) $(INSTALLFLAGS) flags srcname $(XVARuse0:/=\)\\dstname
|
|
||||||
|
|
||||||
#define InstallNamedTargetNoClobber(step,srcname,flags,dest,dstname) @@\
|
|
||||||
XVARdef0 = $(DESTDIR)dest @@\
|
|
||||||
@@\
|
|
||||||
step:: srcname @@\
|
|
||||||
MakeDir($(XVARuse0:/=\)) @@\
|
|
||||||
@if exist $(XVARuse0:/=\)\\dstname echo Not overwriting existing $(XVARuse0:/=\)\\dstname @@\
|
|
||||||
if not exist $(XVARuse0:/=\)\\dstname $(INSTALL) $(INSTALLFLAGS) flags srcname $(XVARuse0:/=\)\\dstname
|
|
||||||
|
|
||||||
|
|
||||||
#define InstallLibrary(libname,dest) @@\
|
|
||||||
InstallTarget(install,LibraryTargetName(libname),$(INSTLIBFLAGS),dest)
|
|
||||||
|
|
||||||
#define InstallScript(program,dest) /**/
|
|
||||||
|
|
||||||
#define InstallNamedProg(srcname,dstname,dest) @@\
|
|
||||||
install:: srcname @@\
|
|
||||||
@echo sorry, unable to install srcname
|
|
||||||
|
|
||||||
#define InstallSharedLibrary(libname,rev,dest) @@\
|
|
||||||
InstallTarget(install,LibraryTargetName(libname),$(INSTLIBFLAGS),$(USRLIBDIR)) @@\
|
|
||||||
InstallTarget(install,libname.dll,$(INSTLIBFLAGS),dest)
|
|
||||||
|
|
||||||
#define InstallSharedLibraryData(libname,rev,dest)
|
|
||||||
|
|
||||||
#define MakeDLL(libname,solist) $(LD) @<< @@\
|
|
||||||
$(SHLIBLDFLAGS) -out:libname.dll libname.exp solist @@\
|
|
||||||
<<
|
|
||||||
|
|
||||||
#define SharedLibraryTarget(libname,rev,solist,down,up) @@\
|
|
||||||
AllTarget(libname.dll) @@\
|
|
||||||
@@\
|
|
||||||
CppFileTarget(libname.def,libname-def.cpp,-DLIBRARY_VERSION=rev,$(ICONFIGFILES)) @@\
|
|
||||||
@@\
|
|
||||||
XVARdef0 = solist @@\
|
|
||||||
@@\
|
|
||||||
LibraryTargetName(libname): $(XVARuse0:.o=.obj) libname.def $(EXTRALIBRARYDEPS) @@\
|
|
||||||
RemoveFile($@) @@\
|
|
||||||
MakeLibrary($@,-def:libname.def $(XVARuse0:.o=.obj)) @@\
|
|
||||||
LinkBuildLibrary($@) @@\
|
|
||||||
@@\
|
|
||||||
libname.dll: LibraryTargetName(libname) $(EXTRALIBRARYDEPS) @@\
|
|
||||||
RemoveFile(libname.dll) @@\
|
|
||||||
MakeDLL(libname,$(XVARuse0:.o=.obj) $(REQUIREDLIBS) $(EXTRA_LIBRARIES)) @@\
|
|
||||||
LinkBuildDLL(libname.dll) @@\
|
|
||||||
@@\
|
|
||||||
clean:: @@\
|
|
||||||
RemoveFile(LibraryTargetName(libname)) @@\
|
|
||||||
RemoveFile(libname.dll)
|
|
||||||
|
|
||||||
#define SharedLibraryDataTarget(libname,rev,salist)
|
|
||||||
|
|
||||||
#define ObjectCplusplusCompile(options) RemoveFile($@) @@\
|
|
||||||
$(CXX) -c $*.CCsuf @<< @@\
|
|
||||||
$(CFLAGS) options @@\
|
|
||||||
<<
|
|
||||||
|
|
||||||
#define CplusplusLinkRule LinkRule
|
|
||||||
|
|
||||||
#define CplusplusProgramTargetHelper ProgramTargetHelper
|
|
||||||
|
|
||||||
#ifndef ComplexCplusplusProgramTarget
|
|
||||||
#define ComplexCplusplusProgramTarget(program) @@\
|
|
||||||
PROGRAM = ProgramTargetName(program) @@\
|
|
||||||
@@\
|
|
||||||
AllTarget(ProgramTargetName(program)) @@\
|
|
||||||
@@\
|
|
||||||
CplusplusProgramTargetHelper(program,SRCS,OBJS,DEPLIBS,$(LOCAL_LIBRARIES),NullParameter) @@\
|
|
||||||
@@\
|
|
||||||
DependTarget() @@\
|
|
||||||
LintTarget() @@\
|
|
||||||
@@\
|
|
||||||
clean:: @@\
|
|
||||||
RemoveFile(ProgramTargetName(program))
|
|
||||||
#endif /* ComplexCplusplusProgramTarget */
|
|
||||||
|
|
||||||
#ifndef UseInstalled
|
|
||||||
# define LinkBuildDLL(binary) MakeDir($(BUILDBINDIR:/=\)) @@\
|
|
||||||
RemoveFile(Concat($(BUILDBINDIR:/=\)\,binary)) @@\
|
|
||||||
cd $(BUILDBINDIR:/=\) && $(LN) Concat($(BUILDBINTOP:/=\)\$(CURRENT_DIR:/=\)\,binary) .
|
|
||||||
|
|
||||||
# ifdef LinkBuildBinary
|
|
||||||
# undef LinkBuildBinary
|
|
||||||
# endif
|
|
||||||
# define LinkBuildBinary(binary) @@\
|
|
||||||
all:: $(BUILDBINDIR)\ProgramTargetName(binary) ProgramTargetName(binary) @@\
|
|
||||||
@@\
|
|
||||||
$(BUILDBINDIR)\ProgramTargetName(binary): ProgramTargetName(binary) @@\
|
|
||||||
MakeDir($(BUILDBINDIR:/=\)) @@\
|
|
||||||
RemoveFile($(BUILDBINDIR:/=\)\ProgramTargetName(binary))) @@\
|
|
||||||
cd $(BUILDBINDIR:/=\) && $(LN) $(BUILDBINTOP:/=\)\$(CURRENT_DIR:/=\)\ProgramTargetName(binary) .
|
|
||||||
|
|
||||||
# ifdef LinkBuildLibrary
|
|
||||||
# undef LinkBuildLibrary
|
|
||||||
# endif
|
|
||||||
# define LinkBuildLibrary(lib) MakeDir($(BUILDLIBDIR:/=\)) @@\
|
|
||||||
RemoveFile(Concat($(BUILDLIBDIR:/=\)\,lib)) @@\
|
|
||||||
cd $(BUILDLIBDIR:/=\) && $(LN) Concat($(BUILDLIBTOP:/=\)\$(CURRENT_DIR:/=\)\,lib) .
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef ProjectUnsharedLibReferences
|
|
||||||
#define ProjectUnsharedLibReferences(varname,libname,libsource,buildlibdir) @@\
|
|
||||||
Concat3(DEP,varname,LIB) = _UseCat($(USRLIBDIR)/lib,buildlibdir/,libname.lib) @@\
|
|
||||||
Concat(varname,LIB) = $(Concat3(DEP,varname,LIB)) @@\
|
|
||||||
LintLibReferences(varname,libname,libsource)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* ServerTargetWithFlags - generate rules to compile, link, and relink a server
|
|
||||||
*/
|
|
||||||
#ifndef ServerTargetWithFlags
|
|
||||||
#define ServerTargetWithFlags(server,subdirs,objects,libs,syslibs,flags) @@\
|
|
||||||
XVARdef0 = objects @@\
|
|
||||||
@@\
|
|
||||||
AllTarget(ProgramTargetName(server)) @@\
|
|
||||||
ProgramTargetName(server): subdirs $(XVARuse0:.o=.obj) libs @@\
|
|
||||||
MoveToBakFile($@) @@\
|
|
||||||
LinkRule($@,$(LDOPTIONS),$(XVARuse0:.o=.obj),libs $(LDLIBS) syslibs) @@\
|
|
||||||
@@\
|
|
||||||
Concat(load,server): @@\
|
|
||||||
MoveToBakFile(ProgramTargetName(server)) @@\
|
|
||||||
LinkRule(ProgramTargetName(server),$(LDOPTIONS),$(XVARuse0:.o=.obj),libs $(LDLIBS) syslibs) @@\
|
|
||||||
@@\
|
|
||||||
loadX:: Concat(load,server) @@\
|
|
||||||
@@\
|
|
||||||
ProofProgramTarget(server,subdirs objects libs,objects libs $(LDLIBS) syslibs) @@\
|
|
||||||
ProofLinkTarget(Concat(load,server),server,objects libs $(LDLIBS) syslibs) @@\
|
|
||||||
@@\
|
|
||||||
InstallProgramWithFlags(server,$(BINDIR),flags) @@\
|
|
||||||
@@\
|
|
||||||
clean:: @@\
|
|
||||||
RemoveFile(ProgramTargetName(server))
|
|
||||||
#endif /* ServerTargetWithFlags */
|
|
|
@ -50,16 +50,3 @@ clean:
|
||||||
$(RM) -r Makefile.proto Makefile Makefile.dep bootstrap .depend
|
$(RM) -r Makefile.proto Makefile Makefile.dep bootstrap .depend
|
||||||
|
|
||||||
depend:
|
depend:
|
||||||
|
|
||||||
imake.exe::
|
|
||||||
@echo making imake with BOOTSTRAPCFLAGS=-DWIN32
|
|
||||||
|
|
||||||
imake.exe:: imake.obj
|
|
||||||
cl -nologo imake.obj libc.lib kernel32.lib
|
|
||||||
|
|
||||||
imake.obj: imake.c
|
|
||||||
cl -nologo -W2 -D__STDC__ -c -DWIN32 $(CFLAGS) imake.c
|
|
||||||
|
|
||||||
clean.Win32:
|
|
||||||
if exist imake.exe del imake.exe
|
|
||||||
if exist imake.obj del imake.obj
|
|
||||||
|
|
|
@ -161,9 +161,6 @@ in this Software without prior written authorization from The Open Group.
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
#include "Xosdefs.h"
|
#include "Xosdefs.h"
|
||||||
#ifdef WIN32
|
|
||||||
# include "Xw32defs.h"
|
|
||||||
#endif
|
|
||||||
#ifndef X_NOT_POSIX
|
#ifndef X_NOT_POSIX
|
||||||
# ifndef _POSIX_SOURCE
|
# ifndef _POSIX_SOURCE
|
||||||
# define _POSIX_SOURCE
|
# define _POSIX_SOURCE
|
||||||
|
@ -172,9 +169,7 @@ in this Software without prior written authorization from The Open Group.
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
#ifdef X_NOT_POSIX
|
#ifdef X_NOT_POSIX
|
||||||
# ifndef WIN32
|
# include <sys/file.h>
|
||||||
# include <sys/file.h>
|
|
||||||
# endif
|
|
||||||
#else
|
#else
|
||||||
# include <unistd.h>
|
# include <unistd.h>
|
||||||
#endif
|
#endif
|
||||||
|
@ -203,15 +198,10 @@ typedef int waitType;
|
||||||
# define waitSig(w) ((w) & 0xff)
|
# define waitSig(w) ((w) & 0xff)
|
||||||
typedef int waitType;
|
typedef int waitType;
|
||||||
# else /* SYSV */
|
# else /* SYSV */
|
||||||
# ifdef WIN32
|
|
||||||
# include <process.h>
|
|
||||||
typedef int waitType;
|
|
||||||
# else
|
|
||||||
# include <sys/wait.h>
|
# include <sys/wait.h>
|
||||||
# define waitCode(w) ((w).w_T.w_Retcode)
|
# define waitCode(w) ((w).w_T.w_Retcode)
|
||||||
# define waitSig(w) ((w).w_T.w_Termsig)
|
# define waitSig(w) ((w).w_T.w_Termsig)
|
||||||
typedef union wait waitType;
|
typedef union wait waitType;
|
||||||
# endif
|
|
||||||
# endif
|
# endif
|
||||||
# ifndef WIFSIGNALED
|
# ifndef WIFSIGNALED
|
||||||
# define WIFSIGNALED(w) waitSig(w)
|
# define WIFSIGNALED(w) waitSig(w)
|
||||||
|
@ -233,11 +223,7 @@ extern char *getenv();
|
||||||
#ifdef X_NOT_STDC_ENV
|
#ifdef X_NOT_STDC_ENV
|
||||||
extern int errno;
|
extern int errno;
|
||||||
#endif
|
#endif
|
||||||
#ifndef WIN32
|
|
||||||
#include <sys/utsname.h>
|
#include <sys/utsname.h>
|
||||||
#else
|
|
||||||
#include <windows.h>
|
|
||||||
#endif
|
|
||||||
#ifndef SYS_NMLN
|
#ifndef SYS_NMLN
|
||||||
# ifdef _SYS_NMLN
|
# ifdef _SYS_NMLN
|
||||||
# define SYS_NMLN _SYS_NMLN
|
# define SYS_NMLN _SYS_NMLN
|
||||||
|
@ -316,13 +302,7 @@ static char *cpp = NULL;
|
||||||
|
|
||||||
static char *tmpMakefile = "/tmp/Imf.XXXXXX";
|
static char *tmpMakefile = "/tmp/Imf.XXXXXX";
|
||||||
static char *tmpImakefile = "/tmp/IIf.XXXXXX";
|
static char *tmpImakefile = "/tmp/IIf.XXXXXX";
|
||||||
static char *make_argv[ ARGUMENTS ] = {
|
static char *make_argv[ ARGUMENTS ] = {"make"};
|
||||||
#ifdef WIN32
|
|
||||||
"nmake"
|
|
||||||
#else
|
|
||||||
"make"
|
|
||||||
#endif
|
|
||||||
};
|
|
||||||
|
|
||||||
static int make_argindex;
|
static int make_argindex;
|
||||||
static int cpp_argindex;
|
static int cpp_argindex;
|
||||||
|
@ -727,15 +707,6 @@ doit(FILE *outfd, const char *cmd, char **argv)
|
||||||
/*
|
/*
|
||||||
* Fork and exec the command.
|
* Fork and exec the command.
|
||||||
*/
|
*/
|
||||||
#ifdef WIN32
|
|
||||||
if (outfd)
|
|
||||||
dup2(fileno(outfd), 1);
|
|
||||||
status = _spawnvp(_P_WAIT, cmd, argv);
|
|
||||||
if (status < 0)
|
|
||||||
LogFatal("Cannot spawn %s.", cmd);
|
|
||||||
if (status > 0)
|
|
||||||
LogFatal("Exit code %d.", status);
|
|
||||||
#else
|
|
||||||
pid = fork();
|
pid = fork();
|
||||||
if (pid < 0)
|
if (pid < 0)
|
||||||
LogFatal("Cannot fork.");
|
LogFatal("Cannot fork.");
|
||||||
|
@ -756,11 +727,8 @@ doit(FILE *outfd, const char *cmd, char **argv)
|
||||||
execvp(cmd, argv);
|
execvp(cmd, argv);
|
||||||
LogFatal("Cannot exec %s.", cmd);
|
LogFatal("Cannot exec %s.", cmd);
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef WIN32
|
|
||||||
|
|
||||||
#if (defined(DEFAULT_OS_NAME) || defined(DEFAULT_OS_MAJOR_REV) || \
|
#if (defined(DEFAULT_OS_NAME) || defined(DEFAULT_OS_MAJOR_REV) || \
|
||||||
defined(DEFAULT_OS_MINOR_REV) || defined(DEFAULT_OS_TEENY_REV))
|
defined(DEFAULT_OS_MINOR_REV) || defined(DEFAULT_OS_TEENY_REV))
|
||||||
static void
|
static void
|
||||||
|
@ -828,13 +796,12 @@ parse_utsname(struct utsname *name, const char *fmt, char *result, const char *m
|
||||||
int ret = sscanf(buf, fmt + arg + 1, result);
|
int ret = sscanf(buf, fmt + arg + 1, result);
|
||||||
(void) ret;
|
(void) ret;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Trim leading 0's and periods from version names. The 0's cause
|
/* Trim leading 0's and periods from version names. The 0's cause
|
||||||
the number to be interpreted as octal numbers. Some version strings
|
the number to be interpreted as octal numbers. Some version strings
|
||||||
have the potential for different numbers of .'s in them.
|
have the potential for different numbers of .'s in them.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#if (defined(DEFAULT_OS_MAJOR_REV) || defined(DEFAULT_OS_MINOR_REV) || defined(DEFAULT_OS_TEENY_REV))
|
#if (defined(DEFAULT_OS_MAJOR_REV) || defined(DEFAULT_OS_MINOR_REV) || defined(DEFAULT_OS_TEENY_REV))
|
||||||
static const char *
|
static const char *
|
||||||
trim_version(const char *p)
|
trim_version(const char *p)
|
||||||
|
@ -1240,7 +1207,6 @@ get_gcc_incdir(FILE *inFile)
|
||||||
static boolean
|
static boolean
|
||||||
define_os_defaults(FILE *inFile)
|
define_os_defaults(FILE *inFile)
|
||||||
{
|
{
|
||||||
#ifndef WIN32
|
|
||||||
#if (defined(DEFAULT_OS_NAME) || defined(DEFAULT_OS_MAJOR_REV) || \
|
#if (defined(DEFAULT_OS_NAME) || defined(DEFAULT_OS_MAJOR_REV) || \
|
||||||
defined(DEFAULT_OS_MINOR_REV) || defined(DEFAULT_OS_TEENY_REV))
|
defined(DEFAULT_OS_MINOR_REV) || defined(DEFAULT_OS_TEENY_REV))
|
||||||
struct utsname name;
|
struct utsname name;
|
||||||
|
@ -1287,22 +1253,6 @@ define_os_defaults(FILE *inFile)
|
||||||
#if defined (sun) && defined(SVR4)
|
#if defined (sun) && defined(SVR4)
|
||||||
get_sun_compiler_versions (inFile);
|
get_sun_compiler_versions (inFile);
|
||||||
#endif
|
#endif
|
||||||
#else /* WIN32 */
|
|
||||||
OSVERSIONINFO osvi;
|
|
||||||
static char* os_names[] = { "Win32s", "Windows 95", "Windows NT" };
|
|
||||||
|
|
||||||
memset(&osvi, 0, sizeof(OSVERSIONINFO));
|
|
||||||
osvi.dwOSVersionInfoSize = sizeof (OSVERSIONINFO);
|
|
||||||
GetVersionEx (&osvi);
|
|
||||||
|
|
||||||
fprintf (inFile, "#define DefaultOSName Microsoft %s\n",
|
|
||||||
os_names[osvi.dwPlatformId]);
|
|
||||||
|
|
||||||
fprintf(inFile, "#define DefaultOSMajorVersion %d\n", osvi.dwMajorVersion);
|
|
||||||
fprintf(inFile, "#define DefaultOSMinorVersion %d\n", osvi.dwMinorVersion);
|
|
||||||
fprintf(inFile, "#define DefaultOSTeenyVersion %d\n",
|
|
||||||
osvi.dwBuildNumber & 0xFFFF);
|
|
||||||
#endif /* WIN32 */
|
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1539,9 +1489,6 @@ ReadLine(FILE *tmpfd, const char *tmpfname)
|
||||||
char *p1, *p2;
|
char *p1, *p2;
|
||||||
|
|
||||||
if (! initialized) {
|
if (! initialized) {
|
||||||
#ifdef WIN32
|
|
||||||
FILE *fp = tmpfd;
|
|
||||||
#endif
|
|
||||||
int total_red;
|
int total_red;
|
||||||
struct stat st;
|
struct stat st;
|
||||||
|
|
||||||
|
@ -1558,12 +1505,8 @@ ReadLine(FILE *tmpfd, const char *tmpfname)
|
||||||
end = buf + total_red;
|
end = buf + total_red;
|
||||||
*end = '\0';
|
*end = '\0';
|
||||||
fseek(tmpfd, 0, 0);
|
fseek(tmpfd, 0, 0);
|
||||||
#if defined(SYSV) || defined(WIN32)
|
#if defined(SYSV)
|
||||||
tmpfd = freopen(tmpfname, "w+", tmpfd);
|
tmpfd = freopen(tmpfname, "w+", tmpfd);
|
||||||
#ifdef WIN32
|
|
||||||
if (! tmpfd) /* if failed try again */
|
|
||||||
tmpfd = freopen(tmpfname, "w+", fp);
|
|
||||||
#endif
|
|
||||||
if (! tmpfd)
|
if (! tmpfd)
|
||||||
LogFatal("cannot reopen %s.", tmpfname);
|
LogFatal("cannot reopen %s.", tmpfname);
|
||||||
#else /* !SYSV */
|
#else /* !SYSV */
|
||||||
|
@ -1587,10 +1530,6 @@ ReadLine(FILE *tmpfd, const char *tmpfname)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
else if (*p1 == '\n') { /* real EOL */
|
else if (*p1 == '\n') { /* real EOL */
|
||||||
#ifdef WIN32
|
|
||||||
if (p1 > pline && p1[-1] == '\r')
|
|
||||||
p1[-1] = '\0';
|
|
||||||
#endif
|
|
||||||
*p1++ = '\0';
|
*p1++ = '\0';
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -1653,9 +1592,6 @@ KludgeOutputLine(char **pline)
|
||||||
if (quotechar) {
|
if (quotechar) {
|
||||||
if (quotechar == '\\' ||
|
if (quotechar == '\\' ||
|
||||||
(*p == quotechar &&
|
(*p == quotechar &&
|
||||||
# ifdef WIN32
|
|
||||||
quotechar != ')' &&
|
|
||||||
# endif
|
|
||||||
p[-1] != '\\'))
|
p[-1] != '\\'))
|
||||||
quotechar = '\0';
|
quotechar = '\0';
|
||||||
continue;
|
continue;
|
||||||
|
|
|
@ -99,10 +99,10 @@ in this Software without prior written authorization from The Open Group.
|
||||||
#ifdef Mips
|
#ifdef Mips
|
||||||
# if defined(SYSTYPE_BSD) || defined(BSD) || defined(BSD43)
|
# if defined(SYSTYPE_BSD) || defined(BSD) || defined(BSD43)
|
||||||
# define imake_ccflags "-DBSD43"
|
# define imake_ccflags "-DBSD43"
|
||||||
# else
|
# else
|
||||||
# define imake_ccflags "-DSYSV"
|
# define imake_ccflags "-DSYSV"
|
||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef is68k
|
#ifdef is68k
|
||||||
#define imake_ccflags "-Dluna -Duniosb"
|
#define imake_ccflags "-Dluna -Duniosb"
|
||||||
|
@ -132,14 +132,6 @@ in this Software without prior written authorization from The Open Group.
|
||||||
#define imake_ccflags "-fn -tm c1"
|
#define imake_ccflags "-fn -tm c1"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef WIN32
|
|
||||||
#if _MSC_VER < 1000
|
|
||||||
#define imake_ccflags "-nologo -batch -D__STDC__"
|
|
||||||
#else
|
|
||||||
#define imake_ccflags "-nologo -D__STDC__"
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef __sxg__
|
#ifdef __sxg__
|
||||||
#define imake_ccflags "-DSYSV -DUSG -DNOSTDHDRS"
|
#define imake_ccflags "-DSYSV -DUSG -DNOSTDHDRS"
|
||||||
#endif
|
#endif
|
||||||
|
@ -207,14 +199,9 @@ in this Software without prior written authorization from The Open Group.
|
||||||
* all colons). One way to tell if you need this is to see whether or not
|
* all colons). One way to tell if you need this is to see whether or not
|
||||||
* your Makefiles have no tabs in them and lots of @@ strings.
|
* your Makefiles have no tabs in them and lots of @@ strings.
|
||||||
*/
|
*/
|
||||||
#if defined(sun) || defined(SYSV) || defined(SVR4) || defined(hcx) || defined(WIN32) || defined(__llvm__) || (defined(AMOEBA) && defined(CROSS_COMPILE))
|
#if defined(sun) || defined(SYSV) || defined(SVR4) || defined(hcx) || defined(__llvm__)
|
||||||
#define FIXUP_CPP_WHITESPACE
|
#define FIXUP_CPP_WHITESPACE
|
||||||
#endif
|
#endif
|
||||||
#ifdef WIN32
|
|
||||||
#define REMOVE_CPP_LEADSPACE
|
|
||||||
#define INLINE_SYNTAX
|
|
||||||
#define MAGIC_MAKE_VARS
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Step 4: USE_CC_E, DEFAULT_CC, DEFAULT_CPP
|
* Step 4: USE_CC_E, DEFAULT_CC, DEFAULT_CPP
|
||||||
|
@ -225,10 +212,6 @@ in this Software without prior written authorization from The Open Group.
|
||||||
#ifdef hpux
|
#ifdef hpux
|
||||||
#define USE_CC_E
|
#define USE_CC_E
|
||||||
#endif
|
#endif
|
||||||
#ifdef WIN32
|
|
||||||
#define USE_CC_E
|
|
||||||
#define DEFAULT_CC "cl"
|
|
||||||
#endif
|
|
||||||
#if defined(_IBMR2) && !defined(DEFAULT_CPP)
|
#if defined(_IBMR2) && !defined(DEFAULT_CPP)
|
||||||
#define DEFAULT_CPP "/usr/ccs/lib/cpp"
|
#define DEFAULT_CPP "/usr/ccs/lib/cpp"
|
||||||
#endif
|
#endif
|
||||||
|
@ -475,14 +458,6 @@ char *cpp_argv[ARGUMENTS] = {
|
||||||
"-DSVR4",
|
"-DSVR4",
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
#ifdef WIN32
|
|
||||||
"-DWIN32",
|
|
||||||
"-nologo",
|
|
||||||
#if _MSC_VER < 1000
|
|
||||||
"-batch",
|
|
||||||
#endif
|
|
||||||
"-D__STDC__",
|
|
||||||
#endif
|
|
||||||
#ifdef NCR
|
#ifdef NCR
|
||||||
"-DNCR", /* NCR */
|
"-DNCR", /* NCR */
|
||||||
#endif
|
#endif
|
||||||
|
@ -490,40 +465,6 @@ char *cpp_argv[ARGUMENTS] = {
|
||||||
"-traditional",
|
"-traditional",
|
||||||
"-D__linux__",
|
"-D__linux__",
|
||||||
#endif
|
#endif
|
||||||
#ifdef __sxg__
|
|
||||||
"-D__sxg__",
|
|
||||||
#endif
|
|
||||||
#ifdef nec_ews_svr2
|
|
||||||
"-Dnec_ews_svr2",
|
|
||||||
#endif
|
|
||||||
#ifdef AMOEBA
|
|
||||||
"-DAMOEBA",
|
|
||||||
# ifdef CROSS_COMPILE
|
|
||||||
"-DCROSS_COMPILE",
|
|
||||||
# ifdef CROSS_i80386
|
|
||||||
"-DCROSS_i80386",
|
|
||||||
# endif
|
|
||||||
# ifdef CROSS_sparc
|
|
||||||
"-DCROSS_sparc",
|
|
||||||
# endif
|
|
||||||
# ifdef CROSS_mc68000
|
|
||||||
"-DCROSS_mc68000",
|
|
||||||
# endif
|
|
||||||
# else
|
|
||||||
# ifdef i80386
|
|
||||||
"-Di80386",
|
|
||||||
# endif
|
|
||||||
# ifdef sparc
|
|
||||||
"-Dsparc",
|
|
||||||
# endif
|
|
||||||
# ifdef mc68000
|
|
||||||
"-Dmc68000",
|
|
||||||
# endif
|
|
||||||
# endif
|
|
||||||
#endif
|
|
||||||
#if defined(__sgi) && defined(__ANSI_CPP__)
|
|
||||||
"-cckr",
|
|
||||||
#endif
|
|
||||||
#ifdef __minix_vmd
|
#ifdef __minix_vmd
|
||||||
"-Dminix",
|
"-Dminix",
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -134,7 +134,7 @@ catch (sig)
|
||||||
fatalerr ("got signal %d\n", sig);
|
fatalerr ("got signal %d\n", sig);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(USG) || (defined(i386) && defined(SYSV)) || defined(WIN32)
|
#if defined(USG) || (defined(i386) && defined(SYSV))
|
||||||
#define USGISH
|
#define USGISH
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -661,15 +661,8 @@ redirect(line, makefile)
|
||||||
fatalerr("cannot open \"%s\"\n", makefile);
|
fatalerr("cannot open \"%s\"\n", makefile);
|
||||||
snprintf(backup, BUFSIZ, "%s.bak", makefile);
|
snprintf(backup, BUFSIZ, "%s.bak", makefile);
|
||||||
unlink(backup);
|
unlink(backup);
|
||||||
#ifdef WIN32
|
|
||||||
fclose(fdin);
|
|
||||||
#endif
|
|
||||||
if (rename(makefile, backup) < 0)
|
if (rename(makefile, backup) < 0)
|
||||||
fatalerr("cannot rename %s to %s\n", makefile, backup);
|
fatalerr("cannot rename %s to %s\n", makefile, backup);
|
||||||
#ifdef WIN32
|
|
||||||
if ((fdin = fopen(backup, "r")) == NULL)
|
|
||||||
fatalerr("cannot open \"%s\"\n", backup);
|
|
||||||
#endif
|
|
||||||
if ((fdout = freopen(makefile, "w", stdout)) == NULL)
|
if ((fdout = freopen(makefile, "w", stdout)) == NULL)
|
||||||
fatalerr("cannot open \"%s\"\n", backup);
|
fatalerr("cannot open \"%s\"\n", backup);
|
||||||
len = strlen(line);
|
len = strlen(line);
|
||||||
|
|
|
@ -7,18 +7,10 @@ MDEP_PROG = makedepend
|
||||||
EXPORTLISTGEN = exportlistgen
|
EXPORTLISTGEN = exportlistgen
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef Win32Architecture
|
|
||||||
CMKDIRHIER = mkdirhier.exe
|
|
||||||
#endif
|
|
||||||
|
|
||||||
PROGRAMS = xmkmf $(MDEP_PROG) mergelib ProgramTargetName(makestrs) $(EXPORTLISTGEN) $(CMKDIRHIER)
|
PROGRAMS = xmkmf $(MDEP_PROG) mergelib ProgramTargetName(makestrs) $(EXPORTLISTGEN) $(CMKDIRHIER)
|
||||||
DEPLIBS =
|
DEPLIBS =
|
||||||
DEPEND_DEFINES = $(DEPENDDEFINES)
|
DEPEND_DEFINES = $(DEPENDDEFINES)
|
||||||
|
|
||||||
#ifndef Win32Architecture
|
|
||||||
EXTRA_LIBRARIES =
|
|
||||||
#endif
|
|
||||||
|
|
||||||
XCOMM Some compilers generate fatal errors if an -L directory does
|
XCOMM Some compilers generate fatal errors if an -L directory does
|
||||||
XCOMM not exist. Since BUILDLIBDIR may not exist yet suppress its use.
|
XCOMM not exist. Since BUILDLIBDIR may not exist yet suppress its use.
|
||||||
LDPRELIB =
|
LDPRELIB =
|
||||||
|
@ -45,10 +37,6 @@ SimpleProgramTarget(lndir)
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef Win32Architecture
|
|
||||||
SimpleProgramTarget(mkdirhier)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
NormalProgramTarget(makestrs,makestrs.o,,,)
|
NormalProgramTarget(makestrs,makestrs.o,,,)
|
||||||
|
|
||||||
InstallNamedProg(xmkmf,xmkmf,$(BINDIR))
|
InstallNamedProg(xmkmf,xmkmf,$(BINDIR))
|
||||||
|
|
|
@ -1,74 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
# $XConsortium: aminstall.sh,v 1.1 94/03/29 15:54:08 gildea Exp $
|
|
||||||
# aminstall - transfer cross-compiled files to system running Amoeba.
|
|
||||||
# Usage: aminstall binary-directory [-s stksz] unix-source amoeba-dest
|
|
||||||
|
|
||||||
#
|
|
||||||
# Default soap mask for files
|
|
||||||
#
|
|
||||||
SPMASK=0xFF:2:2
|
|
||||||
export SPMASK
|
|
||||||
PROG=$0
|
|
||||||
USAGE="Usage: $PROG binary-directory unix-source amoeba-dest"
|
|
||||||
|
|
||||||
#
|
|
||||||
# Argument check
|
|
||||||
#
|
|
||||||
case $# in
|
|
||||||
3|5) ;;
|
|
||||||
*) echo $USAGE >&2
|
|
||||||
exit 1
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
bindir=$1
|
|
||||||
stksz=
|
|
||||||
case $2 in
|
|
||||||
-s) if [ $# -ne 5 ]
|
|
||||||
then
|
|
||||||
echo $USAGE >&2
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
stksz="-s $3"
|
|
||||||
shift
|
|
||||||
shift
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
unxfile=$2
|
|
||||||
dest=$3
|
|
||||||
|
|
||||||
#
|
|
||||||
# Change /public .... into /super (just for installation)
|
|
||||||
#
|
|
||||||
stripped=`echo $dest | sed 's:^/public::'`
|
|
||||||
if [ X$dest != X$stripped ]; then
|
|
||||||
dest=/super$stripped
|
|
||||||
fi
|
|
||||||
|
|
||||||
#
|
|
||||||
# If the file already exists, then delete it
|
|
||||||
#
|
|
||||||
INFO=`$bindir/std_info $dest 2>&1`
|
|
||||||
case $INFO in
|
|
||||||
*"not found"*) ;;
|
|
||||||
*failed*) ;;
|
|
||||||
*bytes*) $bindir/del -f $dest
|
|
||||||
;;
|
|
||||||
/??????) echo $PROG: cannot install over directory 1>&2
|
|
||||||
exit
|
|
||||||
;;
|
|
||||||
*) $bindir/del -d $dest
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
#
|
|
||||||
# Transfer the file to Amoeba
|
|
||||||
#
|
|
||||||
$bindir/../bin.scripts/ainstall $stksz $unxfile $dest > /dev/null 2>&1
|
|
||||||
if [ $? -ne 0 ]
|
|
||||||
then
|
|
||||||
echo "This is not binary - using tob"
|
|
||||||
$bindir/tob $unxfile $dest
|
|
||||||
fi
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Common Desktop Environment Version 2.3.0 (stable)
|
Common Desktop Environment Version 2.3.0a (devel)
|
||||||
|
|
||||||
(c) Copyright 1993-2012 The Open Group
|
(c) Copyright 1993-2012 The Open Group
|
||||||
(c) Copyright 2012-2018 CDE Project contributors, see CONTRIBUTORS for details
|
(c) Copyright 2012-2018 CDE Project contributors, see CONTRIBUTORS for details
|
||||||
|
|
|
@ -303,6 +303,11 @@ programs/localized/%_LANG_%/app-defaults/Dtbuilder
|
||||||
install_target = /usr/dt/app-defaults/%_LANG_%/Dtbuilder
|
install_target = /usr/dt/app-defaults/%_LANG_%/Dtbuilder
|
||||||
}
|
}
|
||||||
XCOMM
|
XCOMM
|
||||||
|
programs/localized/%_LANG_%/app-defaults/Dtudcfonted
|
||||||
|
{ default
|
||||||
|
install_target = /usr/dt/app-defaults/%_LANG_%/Dtudcfonted
|
||||||
|
}
|
||||||
|
XCOMM
|
||||||
XCOMM >>-----------------------------
|
XCOMM >>-----------------------------
|
||||||
XCOMM appmanager
|
XCOMM appmanager
|
||||||
XCOMM <<-----------------------------
|
XCOMM <<-----------------------------
|
||||||
|
|
|
@ -423,6 +423,22 @@ doc/C/man/man1/dttypes.1
|
||||||
install_target = /usr/dt/share/man/man1/dttypes.1
|
install_target = /usr/dt/share/man/man1/dttypes.1
|
||||||
}
|
}
|
||||||
#
|
#
|
||||||
|
doc/C/man/man1/dtudcexch.1
|
||||||
|
{ uxp
|
||||||
|
install_target = /usr/dt/share/catman/C/cde_man/cat1/dtudcexch.1
|
||||||
|
}
|
||||||
|
{ default
|
||||||
|
install_target = /usr/dt/share/man/man1/dtudcexch.1
|
||||||
|
}
|
||||||
|
#
|
||||||
|
doc/C/man/man1/dtudcfonted.1
|
||||||
|
{ uxp
|
||||||
|
install_target = /usr/dt/share/catman/C/cde_man/cat1/dtudcfonted.1
|
||||||
|
}
|
||||||
|
{ default
|
||||||
|
install_target = /usr/dt/share/man/man1/dtudcfonted.1
|
||||||
|
}
|
||||||
|
#
|
||||||
doc/C/man/man1/dtwm.1
|
doc/C/man/man1/dtwm.1
|
||||||
{ default
|
{ default
|
||||||
install_target = /usr/dt/share/man/man1/dtwm.1
|
install_target = /usr/dt/share/man/man1/dtwm.1
|
||||||
|
|
|
@ -306,6 +306,16 @@ programs/localized/%_LANG_%/msg/dtconfig.cat
|
||||||
install_target = /usr/dt/lib/nls/msg/%_LANG_%/dtconfig.cat
|
install_target = /usr/dt/lib/nls/msg/%_LANG_%/dtconfig.cat
|
||||||
}
|
}
|
||||||
XCOMM
|
XCOMM
|
||||||
|
programs/localized/%_LANG_%/msg/dtudcexch.cat
|
||||||
|
{ default
|
||||||
|
install_target = /usr/dt/lib/nls/msg/%_LANG_%/dtudcexch.cat
|
||||||
|
}
|
||||||
|
XCOMM
|
||||||
|
programs/localized/%_LANG_%/msg/dtudcfonted.cat
|
||||||
|
{ default
|
||||||
|
install_target = /usr/dt/lib/nls/msg/%_LANG_%/dtudcfonted.cat
|
||||||
|
}
|
||||||
|
XCOMM
|
||||||
programs/localized/%_LANG_%/msg/dtpdm.cat
|
programs/localized/%_LANG_%/msg/dtpdm.cat
|
||||||
{ default
|
{ default
|
||||||
install_target = /usr/dt/lib/nls/msg/%_LANG_%/dtpdm.cat
|
install_target = /usr/dt/lib/nls/msg/%_LANG_%/dtpdm.cat
|
||||||
|
|
|
@ -1670,6 +1670,76 @@ programs/dtcalc/dtcalc
|
||||||
mode = 0555
|
mode = 0555
|
||||||
}
|
}
|
||||||
#
|
#
|
||||||
|
programs/dtudcfonted/dtudcfonted
|
||||||
|
{ default
|
||||||
|
install_target = /usr/dt/bin/dtudcfonted
|
||||||
|
mode = 0555
|
||||||
|
}
|
||||||
|
#
|
||||||
|
programs/localized/C/app-defaults/Dtudcfonted
|
||||||
|
{ default
|
||||||
|
install_target = /usr/dt/app-defaults/C/Dtudcfonted
|
||||||
|
}
|
||||||
|
#
|
||||||
|
programs/dtudcexch/dtudcexch
|
||||||
|
{ default
|
||||||
|
install_target = /usr/dt/bin/dtudcexch
|
||||||
|
mode = 0555
|
||||||
|
}
|
||||||
|
#
|
||||||
|
programs/dtudcfonted/dtaddcpf/dtaddcpf
|
||||||
|
{ default
|
||||||
|
install_target = /usr/dt/lib/dtudcfonted/dtaddcpf
|
||||||
|
mode = 0555
|
||||||
|
}
|
||||||
|
#
|
||||||
|
programs/dtudcfonted/dtbdftocpf/dtbdftocpf
|
||||||
|
{ default
|
||||||
|
install_target = /usr/dt/lib/dtudcfonted/dtbdftocpf
|
||||||
|
mode = 0555
|
||||||
|
}
|
||||||
|
#
|
||||||
|
programs/dtudcfonted/dtcpftobdf/dtcpftobdf
|
||||||
|
{ default
|
||||||
|
install_target = /usr/dt/lib/dtudcfonted/dtcpftobdf
|
||||||
|
mode = 0555
|
||||||
|
}
|
||||||
|
#
|
||||||
|
programs/dtudcfonted/dtcpftogpf/dtcpftogpf
|
||||||
|
{ default
|
||||||
|
install_target = /usr/dt/lib/dtudcfonted/dtcpftogpf
|
||||||
|
mode = 0555
|
||||||
|
}
|
||||||
|
#
|
||||||
|
programs/dtudcfonted/dtcpgpf/dtcpgpf
|
||||||
|
{ default
|
||||||
|
install_target = /usr/dt/lib/dtudcfonted/dtcpgpf
|
||||||
|
mode = 0555
|
||||||
|
}
|
||||||
|
#
|
||||||
|
programs/dtudcfonted/dtgpftobdf/dtgpftobdf
|
||||||
|
{ default
|
||||||
|
install_target = /usr/dt/lib/dtudcfonted/dtgpftobdf
|
||||||
|
mode = 0555
|
||||||
|
}
|
||||||
|
#
|
||||||
|
programs/dtudcfonted/dtgpftocpf/dtgpftocpf
|
||||||
|
{ default
|
||||||
|
install_target = /usr/dt/lib/dtudcfonted/dtgpftocpf
|
||||||
|
mode = 0555
|
||||||
|
}
|
||||||
|
#
|
||||||
|
programs/dtudcfonted/dtlsgpf/dtlsgpf
|
||||||
|
{ default
|
||||||
|
install_target = /usr/dt/lib/dtudcfonted/dtlsgpf
|
||||||
|
mode = 0555
|
||||||
|
}
|
||||||
|
#
|
||||||
|
programs/dtudcfonted/libfal/fonts.list
|
||||||
|
{ default
|
||||||
|
install_target = /usr/dt/config/C/fonts.list
|
||||||
|
}
|
||||||
|
#
|
||||||
programs/dtterm/dtterm
|
programs/dtterm/dtterm
|
||||||
{ default
|
{ default
|
||||||
install_target = /usr/dt/bin/dtterm
|
install_target = /usr/dt/bin/dtterm
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
<!-- $TOG: HELPEnt.sgm /main/12 1999/10/12 09:35:15 mgreess $ -->
|
<!-- $TOG: HELPEnt.sgm /main/12 1999/10/12 09:35:15 mgreess $ -->
|
||||||
<!ENTITY CDEcopyright "<GlossTerm Role=nogloss>Common Desktop Environment 2.3.0</GlossTerm>,
|
<!ENTITY CDEcopyright "<GlossTerm Role=nogloss>Common Desktop Environment 2.3.0a</GlossTerm>,
|
||||||
|
|
||||||
© Copyright 1993-2012 The Open Group
|
© Copyright 1993-2012 The Open Group
|
||||||
© Copyright 2012-2018 CDE Project contributors, see CONTRIBUTORS for details
|
© Copyright 2012-2018 CDE Project contributors, see CONTRIBUTORS for details
|
||||||
|
|
|
@ -1,25 +0,0 @@
|
||||||
/*
|
|
||||||
* CDE - Common Desktop Environment
|
|
||||||
*
|
|
||||||
* Copyright (c) 1993-2012, The Open Group. All rights reserved.
|
|
||||||
*
|
|
||||||
* These libraries and programs are free software; you can
|
|
||||||
* redistribute them and/or modify them under the terms of the GNU
|
|
||||||
* Lesser General Public License as published by the Free Software
|
|
||||||
* Foundation; either version 2 of the License, or (at your option)
|
|
||||||
* any later version.
|
|
||||||
*
|
|
||||||
* These libraries and programs are distributed in the hope that
|
|
||||||
* they will be useful, but WITHOUT ANY WARRANTY; without even the
|
|
||||||
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
|
||||||
* PURPOSE. See the GNU Lesser General Public License for more
|
|
||||||
* details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU Lesser General Public
|
|
||||||
* License along with these libraries and programs; if not, write
|
|
||||||
* to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
|
|
||||||
* Floor, Boston, MA 02110-1301 USA
|
|
||||||
*/
|
|
||||||
/* $XConsortium: ilall.c /main/3 1995/10/23 15:41:33 rswiston $ */
|
|
||||||
|
|
||||||
THIS FILE NO LONGER USED - ld -o IS NOW DONE INSTEAD, IN /ilc/Makefile .
|
|
|
@ -1,27 +0,0 @@
|
||||||
/*
|
|
||||||
* CDE - Common Desktop Environment
|
|
||||||
*
|
|
||||||
* Copyright (c) 1993-2012, The Open Group. All rights reserved.
|
|
||||||
*
|
|
||||||
* These libraries and programs are free software; you can
|
|
||||||
* redistribute them and/or modify them under the terms of the GNU
|
|
||||||
* Lesser General Public License as published by the Free Software
|
|
||||||
* Foundation; either version 2 of the License, or (at your option)
|
|
||||||
* any later version.
|
|
||||||
*
|
|
||||||
* These libraries and programs are distributed in the hope that
|
|
||||||
* they will be useful, but WITHOUT ANY WARRANTY; without even the
|
|
||||||
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
|
||||||
* PURPOSE. See the GNU Lesser General Public License for more
|
|
||||||
* details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU Lesser General Public
|
|
||||||
* License along with these libraries and programs; if not, write
|
|
||||||
* to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
|
|
||||||
* Floor, Boston, MA 02110-1301 USA
|
|
||||||
*/
|
|
||||||
/* $XConsortium: ilcompg3g4.h /main/3 1995/10/23 15:42:24 rswiston $ */
|
|
||||||
|
|
||||||
NO LONGER USED - REPLACED BY ilcompg3g4.c
|
|
||||||
|
|
||||||
|
|
|
@ -1,26 +0,0 @@
|
||||||
/*
|
|
||||||
* CDE - Common Desktop Environment
|
|
||||||
*
|
|
||||||
* Copyright (c) 1993-2012, The Open Group. All rights reserved.
|
|
||||||
*
|
|
||||||
* These libraries and programs are free software; you can
|
|
||||||
* redistribute them and/or modify them under the terms of the GNU
|
|
||||||
* Lesser General Public License as published by the Free Software
|
|
||||||
* Foundation; either version 2 of the License, or (at your option)
|
|
||||||
* any later version.
|
|
||||||
*
|
|
||||||
* These libraries and programs are distributed in the hope that
|
|
||||||
* they will be useful, but WITHOUT ANY WARRANTY; without even the
|
|
||||||
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
|
||||||
* PURPOSE. See the GNU Lesser General Public License for more
|
|
||||||
* details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU Lesser General Public
|
|
||||||
* License along with these libraries and programs; if not, write
|
|
||||||
* to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
|
|
||||||
* Floor, Boston, MA 02110-1301 USA
|
|
||||||
*/
|
|
||||||
/* $XConsortium: ilcompressg3.c /main/3 1995/10/23 15:43:14 rswiston $ */
|
|
||||||
|
|
||||||
NO LONGER USED - REPLACED BY ilcompg3g4.c
|
|
||||||
|
|
|
@ -1,27 +0,0 @@
|
||||||
/*
|
|
||||||
* CDE - Common Desktop Environment
|
|
||||||
*
|
|
||||||
* Copyright (c) 1993-2012, The Open Group. All rights reserved.
|
|
||||||
*
|
|
||||||
* These libraries and programs are free software; you can
|
|
||||||
* redistribute them and/or modify them under the terms of the GNU
|
|
||||||
* Lesser General Public License as published by the Free Software
|
|
||||||
* Foundation; either version 2 of the License, or (at your option)
|
|
||||||
* any later version.
|
|
||||||
*
|
|
||||||
* These libraries and programs are distributed in the hope that
|
|
||||||
* they will be useful, but WITHOUT ANY WARRANTY; without even the
|
|
||||||
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
|
||||||
* PURPOSE. See the GNU Lesser General Public License for more
|
|
||||||
* details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU Lesser General Public
|
|
||||||
* License along with these libraries and programs; if not, write
|
|
||||||
* to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
|
|
||||||
* Floor, Boston, MA 02110-1301 USA
|
|
||||||
*/
|
|
||||||
/* $XConsortium: ilcompressg4.c /main/3 1995/10/23 15:43:21 rswiston $ */
|
|
||||||
|
|
||||||
NO LONGER USED - REPLACED BY ilcompg3g4.c
|
|
||||||
|
|
||||||
|
|
|
@ -1,27 +0,0 @@
|
||||||
/*
|
|
||||||
* CDE - Common Desktop Environment
|
|
||||||
*
|
|
||||||
* Copyright (c) 1993-2012, The Open Group. All rights reserved.
|
|
||||||
*
|
|
||||||
* These libraries and programs are free software; you can
|
|
||||||
* redistribute them and/or modify them under the terms of the GNU
|
|
||||||
* Lesser General Public License as published by the Free Software
|
|
||||||
* Foundation; either version 2 of the License, or (at your option)
|
|
||||||
* any later version.
|
|
||||||
*
|
|
||||||
* These libraries and programs are distributed in the hope that
|
|
||||||
* they will be useful, but WITHOUT ANY WARRANTY; without even the
|
|
||||||
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
|
||||||
* PURPOSE. See the GNU Lesser General Public License for more
|
|
||||||
* details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU Lesser General Public
|
|
||||||
* License along with these libraries and programs; if not, write
|
|
||||||
* to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
|
|
||||||
* Floor, Boston, MA 02110-1301 USA
|
|
||||||
*/
|
|
||||||
/* $XConsortium: iljpeg.c /main/3 1995/10/23 15:49:57 rswiston $ */
|
|
||||||
|
|
||||||
NO LONGER USED. All elements named "iljpeg?*" are no longer used.
|
|
||||||
Replaced by new JPEG code "iljpg?*".
|
|
||||||
|
|
|
@ -1,27 +0,0 @@
|
||||||
/*
|
|
||||||
* CDE - Common Desktop Environment
|
|
||||||
*
|
|
||||||
* Copyright (c) 1993-2012, The Open Group. All rights reserved.
|
|
||||||
*
|
|
||||||
* These libraries and programs are free software; you can
|
|
||||||
* redistribute them and/or modify them under the terms of the GNU
|
|
||||||
* Lesser General Public License as published by the Free Software
|
|
||||||
* Foundation; either version 2 of the License, or (at your option)
|
|
||||||
* any later version.
|
|
||||||
*
|
|
||||||
* These libraries and programs are distributed in the hope that
|
|
||||||
* they will be useful, but WITHOUT ANY WARRANTY; without even the
|
|
||||||
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
|
||||||
* PURPOSE. See the GNU Lesser General Public License for more
|
|
||||||
* details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU Lesser General Public
|
|
||||||
* License along with these libraries and programs; if not, write
|
|
||||||
* to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
|
|
||||||
* Floor, Boston, MA 02110-1301 USA
|
|
||||||
*/
|
|
||||||
/* $XConsortium: iljpegcodec.c /main/3 1995/10/23 15:50:11 rswiston $ */
|
|
||||||
|
|
||||||
NO LONGER USED. All elements named "iljpeg?*" are no longer used.
|
|
||||||
Replaced by new JPEG code "iljpg?*".
|
|
||||||
|
|
|
@ -1,27 +0,0 @@
|
||||||
/*
|
|
||||||
* CDE - Common Desktop Environment
|
|
||||||
*
|
|
||||||
* Copyright (c) 1993-2012, The Open Group. All rights reserved.
|
|
||||||
*
|
|
||||||
* These libraries and programs are free software; you can
|
|
||||||
* redistribute them and/or modify them under the terms of the GNU
|
|
||||||
* Lesser General Public License as published by the Free Software
|
|
||||||
* Foundation; either version 2 of the License, or (at your option)
|
|
||||||
* any later version.
|
|
||||||
*
|
|
||||||
* These libraries and programs are distributed in the hope that
|
|
||||||
* they will be useful, but WITHOUT ANY WARRANTY; without even the
|
|
||||||
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
|
||||||
* PURPOSE. See the GNU Lesser General Public License for more
|
|
||||||
* details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU Lesser General Public
|
|
||||||
* License along with these libraries and programs; if not, write
|
|
||||||
* to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
|
|
||||||
* Floor, Boston, MA 02110-1301 USA
|
|
||||||
*/
|
|
||||||
/* $XConsortium: iljpegcsize.h /main/3 1995/10/23 15:50:25 rswiston $ */
|
|
||||||
|
|
||||||
NO LONGER USED. All elements named "iljpeg?*" are no longer used.
|
|
||||||
Replaced by new JPEG code "iljpg?*".
|
|
||||||
|
|
|
@ -1,27 +0,0 @@
|
||||||
/*
|
|
||||||
* CDE - Common Desktop Environment
|
|
||||||
*
|
|
||||||
* Copyright (c) 1993-2012, The Open Group. All rights reserved.
|
|
||||||
*
|
|
||||||
* These libraries and programs are free software; you can
|
|
||||||
* redistribute them and/or modify them under the terms of the GNU
|
|
||||||
* Lesser General Public License as published by the Free Software
|
|
||||||
* Foundation; either version 2 of the License, or (at your option)
|
|
||||||
* any later version.
|
|
||||||
*
|
|
||||||
* These libraries and programs are distributed in the hope that
|
|
||||||
* they will be useful, but WITHOUT ANY WARRANTY; without even the
|
|
||||||
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
|
||||||
* PURPOSE. See the GNU Lesser General Public License for more
|
|
||||||
* details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU Lesser General Public
|
|
||||||
* License along with these libraries and programs; if not, write
|
|
||||||
* to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
|
|
||||||
* Floor, Boston, MA 02110-1301 USA
|
|
||||||
*/
|
|
||||||
/* $XConsortium: iljpegdct.h /main/3 1995/10/23 15:50:38 rswiston $ */
|
|
||||||
|
|
||||||
NO LONGER USED. All elements named "iljpeg?*" are no longer used.
|
|
||||||
Replaced by new JPEG code "iljpg?*".
|
|
||||||
|
|
|
@ -1,27 +0,0 @@
|
||||||
/*
|
|
||||||
* CDE - Common Desktop Environment
|
|
||||||
*
|
|
||||||
* Copyright (c) 1993-2012, The Open Group. All rights reserved.
|
|
||||||
*
|
|
||||||
* These libraries and programs are free software; you can
|
|
||||||
* redistribute them and/or modify them under the terms of the GNU
|
|
||||||
* Lesser General Public License as published by the Free Software
|
|
||||||
* Foundation; either version 2 of the License, or (at your option)
|
|
||||||
* any later version.
|
|
||||||
*
|
|
||||||
* These libraries and programs are distributed in the hope that
|
|
||||||
* they will be useful, but WITHOUT ANY WARRANTY; without even the
|
|
||||||
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
|
||||||
* PURPOSE. See the GNU Lesser General Public License for more
|
|
||||||
* details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU Lesser General Public
|
|
||||||
* License along with these libraries and programs; if not, write
|
|
||||||
* to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
|
|
||||||
* Floor, Boston, MA 02110-1301 USA
|
|
||||||
*/
|
|
||||||
/* $XConsortium: iljpegfwft0.c /main/3 1995/10/23 15:50:54 rswiston $ */
|
|
||||||
|
|
||||||
NO LONGER USED. All elements named "iljpeg?*" are no longer used.
|
|
||||||
Replaced by new JPEG code "iljpg?*".
|
|
||||||
|
|
|
@ -1,27 +0,0 @@
|
||||||
/*
|
|
||||||
* CDE - Common Desktop Environment
|
|
||||||
*
|
|
||||||
* Copyright (c) 1993-2012, The Open Group. All rights reserved.
|
|
||||||
*
|
|
||||||
* These libraries and programs are free software; you can
|
|
||||||
* redistribute them and/or modify them under the terms of the GNU
|
|
||||||
* Lesser General Public License as published by the Free Software
|
|
||||||
* Foundation; either version 2 of the License, or (at your option)
|
|
||||||
* any later version.
|
|
||||||
*
|
|
||||||
* These libraries and programs are distributed in the hope that
|
|
||||||
* they will be useful, but WITHOUT ANY WARRANTY; without even the
|
|
||||||
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
|
||||||
* PURPOSE. See the GNU Lesser General Public License for more
|
|
||||||
* details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU Lesser General Public
|
|
||||||
* License along with these libraries and programs; if not, write
|
|
||||||
* to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
|
|
||||||
* Floor, Boston, MA 02110-1301 USA
|
|
||||||
*/
|
|
||||||
/* $XConsortium: iljpegglobals.h /main/3 1995/10/23 15:51:08 rswiston $ */
|
|
||||||
|
|
||||||
NO LONGER USED. All elements named "iljpeg?*" are no longer used.
|
|
||||||
Replaced by new JPEG code "iljpg?*".
|
|
||||||
|
|
|
@ -1,27 +0,0 @@
|
||||||
/*
|
|
||||||
* CDE - Common Desktop Environment
|
|
||||||
*
|
|
||||||
* Copyright (c) 1993-2012, The Open Group. All rights reserved.
|
|
||||||
*
|
|
||||||
* These libraries and programs are free software; you can
|
|
||||||
* redistribute them and/or modify them under the terms of the GNU
|
|
||||||
* Lesser General Public License as published by the Free Software
|
|
||||||
* Foundation; either version 2 of the License, or (at your option)
|
|
||||||
* any later version.
|
|
||||||
*
|
|
||||||
* These libraries and programs are distributed in the hope that
|
|
||||||
* they will be useful, but WITHOUT ANY WARRANTY; without even the
|
|
||||||
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
|
||||||
* PURPOSE. See the GNU Lesser General Public License for more
|
|
||||||
* details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU Lesser General Public
|
|
||||||
* License along with these libraries and programs; if not, write
|
|
||||||
* to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
|
|
||||||
* Floor, Boston, MA 02110-1301 USA
|
|
||||||
*/
|
|
||||||
/* $XConsortium: iljpeghuffman.c /main/3 1995/10/23 15:51:22 rswiston $ */
|
|
||||||
|
|
||||||
NO LONGER USED. All elements named "iljpeg?*" are no longer used.
|
|
||||||
Replaced by new JPEG code "iljpg?*".
|
|
||||||
|
|
|
@ -1,27 +0,0 @@
|
||||||
/*
|
|
||||||
* CDE - Common Desktop Environment
|
|
||||||
*
|
|
||||||
* Copyright (c) 1993-2012, The Open Group. All rights reserved.
|
|
||||||
*
|
|
||||||
* These libraries and programs are free software; you can
|
|
||||||
* redistribute them and/or modify them under the terms of the GNU
|
|
||||||
* Lesser General Public License as published by the Free Software
|
|
||||||
* Foundation; either version 2 of the License, or (at your option)
|
|
||||||
* any later version.
|
|
||||||
*
|
|
||||||
* These libraries and programs are distributed in the hope that
|
|
||||||
* they will be useful, but WITHOUT ANY WARRANTY; without even the
|
|
||||||
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
|
||||||
* PURPOSE. See the GNU Lesser General Public License for more
|
|
||||||
* details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU Lesser General Public
|
|
||||||
* License along with these libraries and programs; if not, write
|
|
||||||
* to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
|
|
||||||
* Floor, Boston, MA 02110-1301 USA
|
|
||||||
*/
|
|
||||||
/* $XConsortium: iljpegio.c /main/3 1995/10/23 15:51:36 rswiston $ */
|
|
||||||
|
|
||||||
NO LONGER USED. All elements named "iljpeg?*" are no longer used.
|
|
||||||
Replaced by new JPEG code "iljpg?*".
|
|
||||||
|
|
|
@ -1,27 +0,0 @@
|
||||||
/*
|
|
||||||
* CDE - Common Desktop Environment
|
|
||||||
*
|
|
||||||
* Copyright (c) 1993-2012, The Open Group. All rights reserved.
|
|
||||||
*
|
|
||||||
* These libraries and programs are free software; you can
|
|
||||||
* redistribute them and/or modify them under the terms of the GNU
|
|
||||||
* Lesser General Public License as published by the Free Software
|
|
||||||
* Foundation; either version 2 of the License, or (at your option)
|
|
||||||
* any later version.
|
|
||||||
*
|
|
||||||
* These libraries and programs are distributed in the hope that
|
|
||||||
* they will be useful, but WITHOUT ANY WARRANTY; without even the
|
|
||||||
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
|
||||||
* PURPOSE. See the GNU Lesser General Public License for more
|
|
||||||
* details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU Lesser General Public
|
|
||||||
* License along with these libraries and programs; if not, write
|
|
||||||
* to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
|
|
||||||
* Floor, Boston, MA 02110-1301 USA
|
|
||||||
*/
|
|
||||||
/* $XConsortium: iljpegisodct.c /main/3 1995/10/23 15:51:47 rswiston $ */
|
|
||||||
|
|
||||||
NO LONGER USED. All elements named "iljpeg?*" are no longer used.
|
|
||||||
Replaced by new JPEG code "iljpg?*".
|
|
||||||
|
|
|
@ -1,27 +0,0 @@
|
||||||
/*
|
|
||||||
* CDE - Common Desktop Environment
|
|
||||||
*
|
|
||||||
* Copyright (c) 1993-2012, The Open Group. All rights reserved.
|
|
||||||
*
|
|
||||||
* These libraries and programs are free software; you can
|
|
||||||
* redistribute them and/or modify them under the terms of the GNU
|
|
||||||
* Lesser General Public License as published by the Free Software
|
|
||||||
* Foundation; either version 2 of the License, or (at your option)
|
|
||||||
* any later version.
|
|
||||||
*
|
|
||||||
* These libraries and programs are distributed in the hope that
|
|
||||||
* they will be useful, but WITHOUT ANY WARRANTY; without even the
|
|
||||||
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
|
||||||
* PURPOSE. See the GNU Lesser General Public License for more
|
|
||||||
* details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU Lesser General Public
|
|
||||||
* License along with these libraries and programs; if not, write
|
|
||||||
* to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
|
|
||||||
* Floor, Boston, MA 02110-1301 USA
|
|
||||||
*/
|
|
||||||
/* $XConsortium: iljpegmarker.c /main/3 1995/10/23 15:51:59 rswiston $ */
|
|
||||||
|
|
||||||
NO LONGER USED. All elements named "iljpeg?*" are no longer used.
|
|
||||||
Replaced by new JPEG code "iljpg?*".
|
|
||||||
|
|
|
@ -1,27 +0,0 @@
|
||||||
/*
|
|
||||||
* CDE - Common Desktop Environment
|
|
||||||
*
|
|
||||||
* Copyright (c) 1993-2012, The Open Group. All rights reserved.
|
|
||||||
*
|
|
||||||
* These libraries and programs are free software; you can
|
|
||||||
* redistribute them and/or modify them under the terms of the GNU
|
|
||||||
* Lesser General Public License as published by the Free Software
|
|
||||||
* Foundation; either version 2 of the License, or (at your option)
|
|
||||||
* any later version.
|
|
||||||
*
|
|
||||||
* These libraries and programs are distributed in the hope that
|
|
||||||
* they will be useful, but WITHOUT ANY WARRANTY; without even the
|
|
||||||
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
|
||||||
* PURPOSE. See the GNU Lesser General Public License for more
|
|
||||||
* details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU Lesser General Public
|
|
||||||
* License along with these libraries and programs; if not, write
|
|
||||||
* to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
|
|
||||||
* Floor, Boston, MA 02110-1301 USA
|
|
||||||
*/
|
|
||||||
/* $XConsortium: iljpegmarker.h /main/3 1995/10/23 15:52:12 rswiston $ */
|
|
||||||
|
|
||||||
NO LONGER USED. All elements named "iljpeg?*" are no longer used.
|
|
||||||
Replaced by new JPEG code "iljpg?*".
|
|
||||||
|
|
|
@ -1,27 +0,0 @@
|
||||||
/*
|
|
||||||
* CDE - Common Desktop Environment
|
|
||||||
*
|
|
||||||
* Copyright (c) 1993-2012, The Open Group. All rights reserved.
|
|
||||||
*
|
|
||||||
* These libraries and programs are free software; you can
|
|
||||||
* redistribute them and/or modify them under the terms of the GNU
|
|
||||||
* Lesser General Public License as published by the Free Software
|
|
||||||
* Foundation; either version 2 of the License, or (at your option)
|
|
||||||
* any later version.
|
|
||||||
*
|
|
||||||
* These libraries and programs are distributed in the hope that
|
|
||||||
* they will be useful, but WITHOUT ANY WARRANTY; without even the
|
|
||||||
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
|
||||||
* PURPOSE. See the GNU Lesser General Public License for more
|
|
||||||
* details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU Lesser General Public
|
|
||||||
* License along with these libraries and programs; if not, write
|
|
||||||
* to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
|
|
||||||
* Floor, Boston, MA 02110-1301 USA
|
|
||||||
*/
|
|
||||||
/* $XConsortium: iljpegparam.h /main/3 1995/10/23 15:52:25 rswiston $ */
|
|
||||||
|
|
||||||
NO LONGER USED. All elements named "iljpeg?*" are no longer used.
|
|
||||||
Replaced by new JPEG code "iljpg?*".
|
|
||||||
|
|
|
@ -1,27 +0,0 @@
|
||||||
/*
|
|
||||||
* CDE - Common Desktop Environment
|
|
||||||
*
|
|
||||||
* Copyright (c) 1993-2012, The Open Group. All rights reserved.
|
|
||||||
*
|
|
||||||
* These libraries and programs are free software; you can
|
|
||||||
* redistribute them and/or modify them under the terms of the GNU
|
|
||||||
* Lesser General Public License as published by the Free Software
|
|
||||||
* Foundation; either version 2 of the License, or (at your option)
|
|
||||||
* any later version.
|
|
||||||
*
|
|
||||||
* These libraries and programs are distributed in the hope that
|
|
||||||
* they will be useful, but WITHOUT ANY WARRANTY; without even the
|
|
||||||
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
|
||||||
* PURPOSE. See the GNU Lesser General Public License for more
|
|
||||||
* details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU Lesser General Public
|
|
||||||
* License along with these libraries and programs; if not, write
|
|
||||||
* to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
|
|
||||||
* Floor, Boston, MA 02110-1301 USA
|
|
||||||
*/
|
|
||||||
/* $XConsortium: iljpegprototypes.h /main/3 1995/10/23 15:52:40 rswiston $ */
|
|
||||||
|
|
||||||
NO LONGER USED. All elements named "iljpeg?*" are no longer used.
|
|
||||||
Replaced by new JPEG code "iljpg?*".
|
|
||||||
|
|
|
@ -1,27 +0,0 @@
|
||||||
/*
|
|
||||||
* CDE - Common Desktop Environment
|
|
||||||
*
|
|
||||||
* Copyright (c) 1993-2012, The Open Group. All rights reserved.
|
|
||||||
*
|
|
||||||
* These libraries and programs are free software; you can
|
|
||||||
* redistribute them and/or modify them under the terms of the GNU
|
|
||||||
* Lesser General Public License as published by the Free Software
|
|
||||||
* Foundation; either version 2 of the License, or (at your option)
|
|
||||||
* any later version.
|
|
||||||
*
|
|
||||||
* These libraries and programs are distributed in the hope that
|
|
||||||
* they will be useful, but WITHOUT ANY WARRANTY; without even the
|
|
||||||
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
|
||||||
* PURPOSE. See the GNU Lesser General Public License for more
|
|
||||||
* details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU Lesser General Public
|
|
||||||
* License along with these libraries and programs; if not, write
|
|
||||||
* to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
|
|
||||||
* Floor, Boston, MA 02110-1301 USA
|
|
||||||
*/
|
|
||||||
/* $XConsortium: iljpegstream.c /main/3 1995/10/23 15:52:53 rswiston $ */
|
|
||||||
|
|
||||||
NO LONGER USED. All elements named "iljpeg?*" are no longer used.
|
|
||||||
Replaced by new JPEG code "iljpg?*".
|
|
||||||
|
|
|
@ -1,27 +0,0 @@
|
||||||
/*
|
|
||||||
* CDE - Common Desktop Environment
|
|
||||||
*
|
|
||||||
* Copyright (c) 1993-2012, The Open Group. All rights reserved.
|
|
||||||
*
|
|
||||||
* These libraries and programs are free software; you can
|
|
||||||
* redistribute them and/or modify them under the terms of the GNU
|
|
||||||
* Lesser General Public License as published by the Free Software
|
|
||||||
* Foundation; either version 2 of the License, or (at your option)
|
|
||||||
* any later version.
|
|
||||||
*
|
|
||||||
* These libraries and programs are distributed in the hope that
|
|
||||||
* they will be useful, but WITHOUT ANY WARRANTY; without even the
|
|
||||||
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
|
||||||
* PURPOSE. See the GNU Lesser General Public License for more
|
|
||||||
* details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU Lesser General Public
|
|
||||||
* License along with these libraries and programs; if not, write
|
|
||||||
* to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
|
|
||||||
* Floor, Boston, MA 02110-1301 USA
|
|
||||||
*/
|
|
||||||
/* $XConsortium: iljpegstream.h /main/3 1995/10/23 15:53:06 rswiston $ */
|
|
||||||
|
|
||||||
NO LONGER USED. All elements named "iljpeg?*" are no longer used.
|
|
||||||
Replaced by new JPEG code "iljpg?*".
|
|
||||||
|
|
|
@ -1,27 +0,0 @@
|
||||||
/*
|
|
||||||
* CDE - Common Desktop Environment
|
|
||||||
*
|
|
||||||
* Copyright (c) 1993-2012, The Open Group. All rights reserved.
|
|
||||||
*
|
|
||||||
* These libraries and programs are free software; you can
|
|
||||||
* redistribute them and/or modify them under the terms of the GNU
|
|
||||||
* Lesser General Public License as published by the Free Software
|
|
||||||
* Foundation; either version 2 of the License, or (at your option)
|
|
||||||
* any later version.
|
|
||||||
*
|
|
||||||
* These libraries and programs are distributed in the hope that
|
|
||||||
* they will be useful, but WITHOUT ANY WARRANTY; without even the
|
|
||||||
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
|
||||||
* PURPOSE. See the GNU Lesser General Public License for more
|
|
||||||
* details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU Lesser General Public
|
|
||||||
* License along with these libraries and programs; if not, write
|
|
||||||
* to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
|
|
||||||
* Floor, Boston, MA 02110-1301 USA
|
|
||||||
*/
|
|
||||||
/* $XConsortium: iljpegsystem.h /main/3 1995/10/23 15:53:18 rswiston $ */
|
|
||||||
|
|
||||||
NO LONGER USED. All elements named "iljpeg?*" are no longer used.
|
|
||||||
Replaced by new JPEG code "iljpg?*".
|
|
||||||
|
|
|
@ -1,27 +0,0 @@
|
||||||
/*
|
|
||||||
* CDE - Common Desktop Environment
|
|
||||||
*
|
|
||||||
* Copyright (c) 1993-2012, The Open Group. All rights reserved.
|
|
||||||
*
|
|
||||||
* These libraries and programs are free software; you can
|
|
||||||
* redistribute them and/or modify them under the terms of the GNU
|
|
||||||
* Lesser General Public License as published by the Free Software
|
|
||||||
* Foundation; either version 2 of the License, or (at your option)
|
|
||||||
* any later version.
|
|
||||||
*
|
|
||||||
* These libraries and programs are distributed in the hope that
|
|
||||||
* they will be useful, but WITHOUT ANY WARRANTY; without even the
|
|
||||||
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
|
||||||
* PURPOSE. See the GNU Lesser General Public License for more
|
|
||||||
* details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU Lesser General Public
|
|
||||||
* License along with these libraries and programs; if not, write
|
|
||||||
* to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
|
|
||||||
* Floor, Boston, MA 02110-1301 USA
|
|
||||||
*/
|
|
||||||
/* $XConsortium: iljpegtables.h /main/3 1995/10/23 15:53:35 rswiston $ */
|
|
||||||
|
|
||||||
NO LONGER USED. All elements named "iljpeg?*" are no longer used.
|
|
||||||
Replaced by new JPEG code "iljpg?*".
|
|
||||||
|
|
|
@ -1,27 +0,0 @@
|
||||||
/*
|
|
||||||
* CDE - Common Desktop Environment
|
|
||||||
*
|
|
||||||
* Copyright (c) 1993-2012, The Open Group. All rights reserved.
|
|
||||||
*
|
|
||||||
* These libraries and programs are free software; you can
|
|
||||||
* redistribute them and/or modify them under the terms of the GNU
|
|
||||||
* Lesser General Public License as published by the Free Software
|
|
||||||
* Foundation; either version 2 of the License, or (at your option)
|
|
||||||
* any later version.
|
|
||||||
*
|
|
||||||
* These libraries and programs are distributed in the hope that
|
|
||||||
* they will be useful, but WITHOUT ANY WARRANTY; without even the
|
|
||||||
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
|
||||||
* PURPOSE. See the GNU Lesser General Public License for more
|
|
||||||
* details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU Lesser General Public
|
|
||||||
* License along with these libraries and programs; if not, write
|
|
||||||
* to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
|
|
||||||
* Floor, Boston, MA 02110-1301 USA
|
|
||||||
*/
|
|
||||||
/* $XConsortium: iljpegtransform.c /main/3 1995/10/23 15:53:48 rswiston $ */
|
|
||||||
|
|
||||||
NO LONGER USED. All elements named "iljpeg?*" are no longer used.
|
|
||||||
Replaced by new JPEG code "iljpg?*".
|
|
||||||
|
|
|
@ -58,7 +58,7 @@ extern "C" {
|
||||||
DtREVISION * 100 + \
|
DtREVISION * 100 + \
|
||||||
DtUPDATE_LEVEL)
|
DtUPDATE_LEVEL)
|
||||||
|
|
||||||
#define DtVERSION_STRING "CDE Version 2.3.0"
|
#define DtVERSION_STRING "CDE Version 2.3.0a"
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -549,7 +549,7 @@ _DtDtsMMCacheName(int override)
|
||||||
results = malloc(strlen(_DTDTSMMTEMPDIR)+
|
results = malloc(strlen(_DTDTSMMTEMPDIR)+
|
||||||
strlen(_DTDTSMMTEMPFILE)+
|
strlen(_DTDTSMMTEMPFILE)+
|
||||||
strlen(dsp)+3);
|
strlen(dsp)+3);
|
||||||
sprintf(results, "%s/%s%s\0",
|
sprintf(results, "%s/%s%s",
|
||||||
_DTDTSMMTEMPDIR,
|
_DTDTSMMTEMPDIR,
|
||||||
_DTDTSMMTEMPFILE,
|
_DTDTSMMTEMPFILE,
|
||||||
dsp);
|
dsp);
|
||||||
|
|
|
@ -680,11 +680,7 @@ auth_finalize(void)
|
||||||
ProgramName, temp_name);
|
ProgramName, temp_name);
|
||||||
} else {
|
} else {
|
||||||
(void) unlink (ttauth_filename);
|
(void) unlink (ttauth_filename);
|
||||||
#ifdef WIN32
|
|
||||||
if (rename(temp_name, ttauth_filename) == -1)
|
|
||||||
#else
|
|
||||||
if (link (temp_name, ttauth_filename) == -1)
|
if (link (temp_name, ttauth_filename) == -1)
|
||||||
#endif
|
|
||||||
{
|
{
|
||||||
fprintf (stderr,
|
fprintf (stderr,
|
||||||
"%s: unable to link authority file %s, use %s\n",
|
"%s: unable to link authority file %s, use %s\n",
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
.\" not be used in advertising or otherwise to promote the sale, use or
|
.\" not be used in advertising or otherwise to promote the sale, use or
|
||||||
.\" other dealings in this Software without prior written authorization
|
.\" other dealings in this Software without prior written authorization
|
||||||
.\" from The Open Group.
|
.\" from The Open Group.
|
||||||
.TH TTAUTH 1 "Release 2.3.0" "CDE"
|
.TH TTAUTH 1 "Release 2.3.0a" "CDE"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
ttauth \- ToolTalk authority file utility
|
ttauth \- ToolTalk authority file utility
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
|
|
|
@ -68,12 +68,9 @@ extern char *getenv();
|
||||||
#ifndef X_NOT_POSIX
|
#ifndef X_NOT_POSIX
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#else
|
#else
|
||||||
#ifndef WIN32
|
|
||||||
extern unsigned sleep ();
|
extern unsigned sleep ();
|
||||||
#else
|
|
||||||
#define link rename
|
#define link rename
|
||||||
#endif
|
#endif
|
||||||
#endif
|
|
||||||
|
|
||||||
static int read_short(FILE *, unsigned short *);
|
static int read_short(FILE *, unsigned short *);
|
||||||
static int read_string(FILE *, char **);
|
static int read_string(FILE *, char **);
|
||||||
|
@ -97,12 +94,6 @@ _tt_AuthFileName ()
|
||||||
static char *buf;
|
static char *buf;
|
||||||
static int bsize;
|
static int bsize;
|
||||||
int size;
|
int size;
|
||||||
#ifdef WIN32
|
|
||||||
#ifndef PATH_MAX
|
|
||||||
#define PATH_MAX 512
|
|
||||||
#endif
|
|
||||||
char dir[PATH_MAX];
|
|
||||||
#endif
|
|
||||||
|
|
||||||
if (name = getenv ("TTAUTHORITY"))
|
if (name = getenv ("TTAUTHORITY"))
|
||||||
return (name);
|
return (name);
|
||||||
|
@ -111,24 +102,6 @@ _tt_AuthFileName ()
|
||||||
|
|
||||||
if (!name)
|
if (!name)
|
||||||
{
|
{
|
||||||
#ifdef WIN32
|
|
||||||
char *ptr1;
|
|
||||||
char *ptr2;
|
|
||||||
int len1 = 0, len2 = 0;
|
|
||||||
|
|
||||||
if ((ptr1 = getenv("HOMEDRIVE")) && (ptr2 = getenv("HOMEDIR"))) {
|
|
||||||
len1 = strlen (ptr1);
|
|
||||||
len2 = strlen (ptr2);
|
|
||||||
} else if (ptr2 = getenv("USERNAME")) {
|
|
||||||
len1 = strlen (ptr1 = "/users/");
|
|
||||||
len2 = strlen (ptr2);
|
|
||||||
}
|
|
||||||
if ((len1 + len2 + 1) < PATH_MAX) {
|
|
||||||
sprintf (dir, "%s%s", ptr1, (ptr2) ? ptr2 : "");
|
|
||||||
name = dir;
|
|
||||||
}
|
|
||||||
if (!name)
|
|
||||||
#endif
|
|
||||||
return (NULL);
|
return (NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -226,24 +199,18 @@ _tt_LockAuthFile(char *file_name, int retries, int timeout, long dead)
|
||||||
void
|
void
|
||||||
_tt_UnlockAuthFile(char *file_name)
|
_tt_UnlockAuthFile(char *file_name)
|
||||||
{
|
{
|
||||||
#ifndef WIN32
|
|
||||||
char creat_name[1025];
|
char creat_name[1025];
|
||||||
#endif
|
|
||||||
char link_name[1025];
|
char link_name[1025];
|
||||||
|
|
||||||
if ((int) strlen (file_name) > 1022)
|
if ((int) strlen (file_name) > 1022)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
#ifndef WIN32
|
|
||||||
strcpy (creat_name, file_name);
|
strcpy (creat_name, file_name);
|
||||||
strcat (creat_name, "-c");
|
strcat (creat_name, "-c");
|
||||||
#endif
|
|
||||||
strcpy (link_name, file_name);
|
strcpy (link_name, file_name);
|
||||||
strcat (link_name, "-l");
|
strcat (link_name, "-l");
|
||||||
|
|
||||||
#ifndef WIN32
|
|
||||||
unlink (creat_name);
|
unlink (creat_name);
|
||||||
#endif
|
|
||||||
unlink (link_name);
|
unlink (link_name);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
/* TT_VERSION defines the version string which is imbedded in all the */
|
/* TT_VERSION defines the version string which is imbedded in all the */
|
||||||
/* binaries and shipped libraries. */
|
/* binaries and shipped libraries. */
|
||||||
|
|
||||||
TT_VERSION = "CDE Version 2.3.0"
|
TT_VERSION = "CDE Version 2.3.0a"
|
||||||
TT_VERSION_DEFINE = -DTT_VERSION_STRING=\"$(TT_VERSION)\"
|
TT_VERSION_DEFINE = -DTT_VERSION_STRING=\"$(TT_VERSION)\"
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -17,9 +17,6 @@ DTINFODIR = dtinfo
|
||||||
DTINFODIR = dtinfo
|
DTINFODIR = dtinfo
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
XCOMM JET 4/2/2018 - disabling dtudcfonted and dtudcexch. They are
|
|
||||||
XCOMM very broken in terms of coverity and compiler warnings. Also,
|
|
||||||
XCOMM who uses them? And for what?
|
|
||||||
|
|
||||||
SUBDIRS = dthelp dsdm dtmail dtpad dtfile dtwm dtlogin \
|
SUBDIRS = dthelp dsdm dtmail dtpad dtfile dtwm dtlogin \
|
||||||
dtsession dthello dtstyle dtexec dtdbcache dticon dtterm \
|
dtsession dthello dtstyle dtexec dtdbcache dticon dtterm \
|
||||||
|
@ -27,7 +24,7 @@ SUBDIRS = dthelp dsdm dtmail dtpad dtfile dtwm dtlogin \
|
||||||
dtscreen dtksh dtcm dtsearchpath \
|
dtscreen dtksh dtcm dtsearchpath \
|
||||||
dtappbuilder dtappintegrate dtprintegrate dtconfig \
|
dtappbuilder dtappintegrate dtprintegrate dtconfig \
|
||||||
dtcreate dtprintinfo fontaliases dtdspmsg ttsnoop \
|
dtcreate dtprintinfo fontaliases dtdspmsg ttsnoop \
|
||||||
dtimsstart dtdocbook dtpdm dtsr \
|
dtudcfonted dtudcexch dtimsstart dtdocbook dtpdm dtsr \
|
||||||
dtpdmd $(DTINFODIR) $(EXTRADIRS)
|
dtpdmd $(DTINFODIR) $(EXTRADIRS)
|
||||||
|
|
||||||
LINTSUBDIRS = dthelp dsdm dtmail dtpad dtfile dtwm dtlogin \
|
LINTSUBDIRS = dthelp dsdm dtmail dtpad dtfile dtwm dtlogin \
|
||||||
|
@ -35,7 +32,7 @@ LINTSUBDIRS = dthelp dsdm dtmail dtpad dtfile dtwm dtlogin \
|
||||||
dtcalc dtaction dtcreate \
|
dtcalc dtaction dtcreate \
|
||||||
dtscreen dtksh dtcm dtsearchpath \
|
dtscreen dtksh dtcm dtsearchpath \
|
||||||
dtappbuilder dtappintegrate dtprintegrate dtprintinfo dtdspmsg \
|
dtappbuilder dtappintegrate dtprintegrate dtprintinfo dtdspmsg \
|
||||||
dtimsstart dtdocbook dtpdm dtsr \
|
dtudcfonted dtudcexch dtimsstart dtdocbook dtpdm dtsr \
|
||||||
dtpdmd $(DTINFODIR) $(EXTRADIRS)
|
dtpdmd $(DTINFODIR) $(EXTRADIRS)
|
||||||
|
|
||||||
MakeSubdirs($(SUBDIRS))
|
MakeSubdirs($(SUBDIRS))
|
||||||
|
|
|
@ -47,7 +47,7 @@ XCOMM #
|
||||||
XCOMM ------------------------------------------------------------------#
|
XCOMM ------------------------------------------------------------------#
|
||||||
function ShowSyntax
|
function ShowSyntax
|
||||||
{
|
{
|
||||||
echo "Usage: $SCRIPT_NAME -s <source> [-t <target>] [-l <language>] [-u]" | tee -a $LOGFILE
|
echo "Usage: $SCRIPT_NAME -s <source> [-t <target>] [-l <language>] [-u]" | tee -a "$LOGFILE"
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
XCOMM ------------------------------------------------------------------#
|
XCOMM ------------------------------------------------------------------#
|
||||||
|
@ -66,15 +66,15 @@ XCOMM ------------------------------------------------------------------#
|
||||||
function GetAbsolutePath
|
function GetAbsolutePath
|
||||||
{
|
{
|
||||||
if [ "/" = "$1" ]; then
|
if [ "/" = "$1" ]; then
|
||||||
echo $2
|
echo "$2"
|
||||||
elif [ -L $1 ]; then
|
elif [ -L "$1" ]; then
|
||||||
GetAbsolutePath `ls -l $1 | awk '{print $NF}'` $2
|
GetAbsolutePath "$(find . -name "$1" | awk '{print $NF}')" "$2"
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if [ "." = "$1" -o ".." = "$1" ]; then
|
if [ "." = "$1" ] || [ ".." = "$1" ]; then
|
||||||
GetAbsolutePath / /`basename $1`$2
|
GetAbsolutePath / /"$(basename "$1")""$2"
|
||||||
else
|
else
|
||||||
GetAbsolutePath `dirname $1` /`basename $1`$2
|
GetAbsolutePath "$(dirname "$1")" /"$(basename "$1")""$2"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
fi
|
fi
|
||||||
|
@ -116,7 +116,7 @@ function GetRelativePath
|
||||||
for (i = 2 + s; i <= b; i++) {
|
for (i = 2 + s; i <= b; i++) {
|
||||||
printf("%s%s", B[i], (i < b) ? "/":"\n");
|
printf("%s%s", B[i], (i < b) ? "/":"\n");
|
||||||
}
|
}
|
||||||
}' $2 $1
|
}' "$2" "$1"
|
||||||
}
|
}
|
||||||
XCOMM ------------------------------------------------------------------#
|
XCOMM ------------------------------------------------------------------#
|
||||||
XCOMM LinkCfgs #
|
XCOMM LinkCfgs #
|
||||||
|
@ -136,46 +136,52 @@ function LinkCfgs
|
||||||
typeset pattern="" files=""
|
typeset pattern="" files=""
|
||||||
|
|
||||||
shift;shift;shift
|
shift;shift;shift
|
||||||
if [[ -L $source || -L $(dirname $source) ]] then
|
if [[ -L $source || -L $(dirname "$source") ]]
|
||||||
spath=$(GetAbsolutePath $source)
|
then
|
||||||
|
spath=$(GetAbsolutePath "$source")
|
||||||
else
|
else
|
||||||
spath=$source
|
spath=$source
|
||||||
fi
|
fi
|
||||||
if [[ -L $target || -L $(dirname $target) ]] then
|
if [[ -L $target || -L $(dirname "$target") ]]
|
||||||
tpath=$(GetAbsolutePath $target)
|
then
|
||||||
|
tpath=$(GetAbsolutePath "$target")
|
||||||
else
|
else
|
||||||
tpath=$target
|
tpath=$target
|
||||||
fi
|
fi
|
||||||
rpath=""
|
rpath=""
|
||||||
for pattern in "$@"
|
for pattern in "$@"
|
||||||
do
|
do
|
||||||
if [[ $pattern = "(*)" ]] then
|
if [[ $pattern = "(*)" ]]
|
||||||
files=$(ls -d $source/COMMENT_STAR 2>/dev/null)
|
then
|
||||||
|
files=$(ls -d "$source"/COMMENT_STAR 2>/dev/null)
|
||||||
else
|
else
|
||||||
files=$(ls -d $source/$pattern 2>/dev/null)
|
files=$(ls -d "$source"/"$pattern" 2>/dev/null)
|
||||||
fi
|
fi
|
||||||
if [[ $? = 0 ]] then
|
if $files
|
||||||
count=$(echo $files | wc -w)
|
then
|
||||||
|
count=$(echo "$files" | wc -w)
|
||||||
for cfgfile in $files
|
for cfgfile in $files
|
||||||
do
|
do
|
||||||
basecfg=$(basename $cfgfile)
|
basecfg=$(basename "$cfgfile")
|
||||||
if [[ $torf = TRUE ]] then
|
if [[ $torf = TRUE ]]
|
||||||
if [[ $rpath = "" ]] then
|
then
|
||||||
rpath=$(GetRelativePath $spath $tpath)
|
if [[ $rpath = "" ]]
|
||||||
|
then
|
||||||
|
rpath=$(GetRelativePath "$spath" "$tpath")
|
||||||
fi
|
fi
|
||||||
rm -f $tpath/$basecfg
|
rm -f "$tpath"/"$basecfg"
|
||||||
echo "ln -sf $rpath/$basecfg $tpath/$basecfg" >> $LOGFILE
|
echo "ln -sf $rpath/$basecfg $tpath/$basecfg" >> "$LOGFILE"
|
||||||
ln -sf $rpath/$basecfg $tpath/$basecfg >> $LOGFILE 2>&1
|
ln -sf "$rpath/$basecfg" "$tpath/$basecfg" >> "$LOGFILE" 2>&1
|
||||||
else
|
else
|
||||||
rm $tpath/$basecfg >/dev/null 2>&1
|
if rm "$tpath"/"$basecfg" >/dev/null 2>&1
|
||||||
if [[ $? = 0 ]] then
|
then
|
||||||
echo "rm $tpath/$basecfg" >> $LOGFILE
|
echo "rm $tpath/$basecfg" >> "$LOGFILE"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
return $count
|
return "$count"
|
||||||
}
|
}
|
||||||
|
|
||||||
XCOMM ------------------------------------------------------------------#
|
XCOMM ------------------------------------------------------------------#
|
||||||
|
@ -195,12 +201,12 @@ XCOMM #
|
||||||
XCOMM ------------------------------------------------------------------#
|
XCOMM ------------------------------------------------------------------#
|
||||||
function IntegrateUnintegrate
|
function IntegrateUnintegrate
|
||||||
{
|
{
|
||||||
typeset torf=$1 srcs="" trgs="" fpats="" langs="" tpath="" spath="" rpath="" k="" languages="" lang=""
|
typeset torf=$1 srcs="" trgs="" fpats="" tpath="" spath="" rpath="" languages="" lang=""
|
||||||
typeset cfgs="" srcabs="" trgabs=""
|
typeset srcabs="" trgabs=""
|
||||||
integer i=0 icons=0 types=1 help=2 appmgr=3
|
integer i=0 icons=0 types=1 help=2 appmgr=3
|
||||||
|
|
||||||
srcabs=$(GetAbsolutePath $APP_ROOT)
|
srcabs=$(GetAbsolutePath "$APP_ROOT")
|
||||||
trgabs=$(GetAbsolutePath $APP_TARGET)
|
trgabs=$(GetAbsolutePath "$APP_TARGET")
|
||||||
|
|
||||||
srcs[0]=$srcabs$ICONS$APP_LANG
|
srcs[0]=$srcabs$ICONS$APP_LANG
|
||||||
srcs[1]=$srcabs$TYPES$APP_LANG
|
srcs[1]=$srcabs$TYPES$APP_LANG
|
||||||
|
@ -220,32 +226,36 @@ function IntegrateUnintegrate
|
||||||
rc=1
|
rc=1
|
||||||
while (( i < 4 ))
|
while (( i < 4 ))
|
||||||
do
|
do
|
||||||
if [[ $APP_LANG = "" ]] then
|
if [[ $APP_LANG = "" ]]
|
||||||
languages=$(ls -d ${srcs[i]}/COMMENT_STAR 2>/dev/null)
|
then
|
||||||
if [[ $? = 0 ]] then
|
if languages=$(ls -d "${srcs[i]}"/COMMENT_STAR 2>/dev/null)
|
||||||
|
then
|
||||||
for lang in $languages
|
for lang in $languages
|
||||||
do
|
do
|
||||||
baselang=$(basename $lang)
|
baselang=$(basename "$lang")
|
||||||
if [[ -d $lang ]] then
|
if [[ -d $lang ]]
|
||||||
if [[ $torf = TRUE ]] then
|
then
|
||||||
if [[ ! -d ${trgs[i]}/$baselang ]] then
|
if [[ $torf = TRUE ]]
|
||||||
mkdir -p ${trgs[i]}/$baselang
|
then
|
||||||
|
if [[ ! -d ${trgs[i]}/$baselang ]]
|
||||||
|
then
|
||||||
|
mkdir -p "${trgs[i]}"/"$baselang"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
LinkCfgs ${srcs[i]}/$baselang ${trgs[i]}/$baselang $torf ${fpats[i]}
|
if ! LinkCfgs "${srcs[i]}/$baselang" "${trgs[i]}/$baselang" "$torf" "${fpats[i]}"
|
||||||
if [[ $? != 0 ]] then
|
then
|
||||||
rc=0
|
rc=0
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
LinkCfgs ${srcs[i]} ${trgs[i]} $torf ${fpats[i]}
|
if ! LinkCfgs "${srcs[i]}" "${trgs[i]}" "$torf" "${fpats[i]}"
|
||||||
if [[ $? != 0 ]] then
|
then
|
||||||
rc=0
|
rc=0
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
i=i+1
|
i=$((i+1))
|
||||||
done
|
done
|
||||||
return $rc
|
return $rc
|
||||||
}
|
}
|
||||||
|
@ -261,10 +271,10 @@ XCOMM ------------------------------------------------------------------#
|
||||||
function ExitOut
|
function ExitOut
|
||||||
{
|
{
|
||||||
typeset retcode=$1
|
typeset retcode=$1
|
||||||
echo "<<<<<<< END OF APPLICATION INTEGRATION >>>>>>>" >> $LOGFILE
|
echo "<<<<<<< END OF APPLICATION INTEGRATION >>>>>>>" >> "$LOGFILE"
|
||||||
|
|
||||||
echo "See $LOGFILE file for more information"
|
echo "See $LOGFILE file for more information"
|
||||||
exit $retcode
|
exit "$retcode"
|
||||||
}
|
}
|
||||||
XCOMM ----<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>-----
|
XCOMM ----<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>-----
|
||||||
XCOMM ----<<<<<<<<<<<.-------------------------.>>>>>>>>>>>-----
|
XCOMM ----<<<<<<<<<<<.-------------------------.>>>>>>>>>>>-----
|
||||||
|
@ -278,7 +288,6 @@ XCOMM Initialize variables
|
||||||
XCOMM -------------------------------------------------------------------
|
XCOMM -------------------------------------------------------------------
|
||||||
sFLAG=0
|
sFLAG=0
|
||||||
tFLAG=0
|
tFLAG=0
|
||||||
lFLAG=0
|
|
||||||
uFLAG=0
|
uFLAG=0
|
||||||
|
|
||||||
TYPES=/types
|
TYPES=/types
|
||||||
|
@ -287,16 +296,15 @@ ICONS=/icons
|
||||||
HELP=/help
|
HELP=/help
|
||||||
APPCONFIG=/dt/appconfig
|
APPCONFIG=/dt/appconfig
|
||||||
CONFIG_TOP=CDE_CONFIGURATION_TOP
|
CONFIG_TOP=CDE_CONFIGURATION_TOP
|
||||||
DT=`basename $CONFIG_TOP`
|
DT=$(basename $CONFIG_TOP)
|
||||||
APP_TARGET=${CONFIG_TOP%/$DT}$APPCONFIG
|
APP_TARGET=${CONFIG_TOP%/$DT}$APPCONFIG
|
||||||
|
|
||||||
PIXMAP_FILES=*.pm
|
PIXMAP_FILES="*.pm"
|
||||||
BITMAP_FILES=*.bm
|
BITMAP_FILES="*.bm"
|
||||||
HELPVOLUME_FILES_OLD=*.hv
|
HELPVOLUME_FILES_OLD="*.hv"
|
||||||
HELPVOLUME_FILES_NEW=*.sdl
|
HELPVOLUME_FILES_NEW="*.sdl"
|
||||||
HELPFAMILY_FILES=*.hf
|
HELPFAMILY_FILES="*.hf"
|
||||||
ACTIONDB_FILES=*.dt
|
ACTIONDB_FILES="*.dt"
|
||||||
FRONTPANEL_FILES=*.fp
|
|
||||||
APPMAN_FILES="(*)"
|
APPMAN_FILES="(*)"
|
||||||
|
|
||||||
ID=$(id)
|
ID=$(id)
|
||||||
|
@ -314,7 +322,8 @@ XCOMM -------------------------------------------------------------------
|
||||||
ID=${ID##*uid=}
|
ID=${ID##*uid=}
|
||||||
ID=${ID#*\(}
|
ID=${ID#*\(}
|
||||||
ID=${ID%%\)*}
|
ID=${ID%%\)*}
|
||||||
if [[ $ID != root ]] then
|
if [[ $ID != root ]]
|
||||||
|
then
|
||||||
echo "Error: Must be root user to run $0!" >&2
|
echo "Error: Must be root user to run $0!" >&2
|
||||||
exit 3
|
exit 3
|
||||||
fi
|
fi
|
||||||
|
@ -322,23 +331,24 @@ fi
|
||||||
XCOMM -------------------------------------------------------------------
|
XCOMM -------------------------------------------------------------------
|
||||||
XCOMM Put prolog into log file.
|
XCOMM Put prolog into log file.
|
||||||
XCOMM -------------------------------------------------------------------
|
XCOMM -------------------------------------------------------------------
|
||||||
echo "<<<<<<< START OF APPLICATION INTEGRATION >>>>>>>" > $LOGFILE
|
echo "<<<<<<< START OF APPLICATION INTEGRATION >>>>>>>" > "$LOGFILE"
|
||||||
|
|
||||||
XCOMM -------------------------------------------------------------------
|
XCOMM -------------------------------------------------------------------
|
||||||
XCOMM Put the date of application integration into the log file.
|
XCOMM Put the date of application integration into the log file.
|
||||||
XCOMM -------------------------------------------------------------------
|
XCOMM -------------------------------------------------------------------
|
||||||
echo $(date) >> $LOGFILE
|
date >> "$LOGFILE"
|
||||||
|
|
||||||
XCOMM -------------------------------------------------------------------
|
XCOMM -------------------------------------------------------------------
|
||||||
XCOMM Put the command line into the log file.
|
XCOMM Put the command line into the log file.
|
||||||
XCOMM -------------------------------------------------------------------
|
XCOMM -------------------------------------------------------------------
|
||||||
echo "$SCRIPT_NAME $*" >> $LOGFILE
|
echo "$SCRIPT_NAME $*" >> "$LOGFILE"
|
||||||
|
|
||||||
XCOMM -------------------------------------------------------------------
|
XCOMM -------------------------------------------------------------------
|
||||||
XCOMM Check if there are no command line arguments.
|
XCOMM Check if there are no command line arguments.
|
||||||
XCOMM If none, then display the command syntax.
|
XCOMM If none, then display the command syntax.
|
||||||
XCOMM -------------------------------------------------------------------
|
XCOMM -------------------------------------------------------------------
|
||||||
if [[ $# = 0 ]] then
|
if [[ $# = 0 ]]
|
||||||
|
then
|
||||||
ShowSyntax
|
ShowSyntax
|
||||||
ExitOut 0
|
ExitOut 0
|
||||||
fi
|
fi
|
||||||
|
@ -353,8 +363,7 @@ do
|
||||||
APP_ROOT="$OPTARG";;
|
APP_ROOT="$OPTARG";;
|
||||||
t) tFLAG=1
|
t) tFLAG=1
|
||||||
APP_TARGET="$OPTARG";;
|
APP_TARGET="$OPTARG";;
|
||||||
l) lFLAG=1
|
l) APP_LANG="$OPTARG";;
|
||||||
APP_LANG="$OPTARG";;
|
|
||||||
u) uFLAG=1;;
|
u) uFLAG=1;;
|
||||||
?) echo " "
|
?) echo " "
|
||||||
ShowSyntax
|
ShowSyntax
|
||||||
|
@ -365,42 +374,50 @@ done
|
||||||
XCOMM -------------------------------------------------------------------
|
XCOMM -------------------------------------------------------------------
|
||||||
XCOMM Check if application's root was specified and is valid.
|
XCOMM Check if application's root was specified and is valid.
|
||||||
XCOMM -------------------------------------------------------------------
|
XCOMM -------------------------------------------------------------------
|
||||||
if [[ $sFLAG = 0 ]] then
|
if [[ $sFLAG = 0 ]]
|
||||||
|
then
|
||||||
echo "Error: Did not specify -s option!" >&2
|
echo "Error: Did not specify -s option!" >&2
|
||||||
ExitOut 4
|
ExitOut 4
|
||||||
else
|
else
|
||||||
if [[ ! -d $APP_ROOT ]] then
|
if [[ ! -d $APP_ROOT ]]
|
||||||
|
then
|
||||||
APP_PATH=$APP_ROOT
|
APP_PATH=$APP_ROOT
|
||||||
echo "Error: $APP_PATH is not a directory!" >&2
|
echo "Error: $APP_PATH is not a directory!" >&2
|
||||||
ExitOut 4
|
ExitOut 4
|
||||||
fi
|
fi
|
||||||
if [[ ! -r $APP_ROOT ]] || [[ ! -x $APP_ROOT ]] then
|
if [[ ! -r $APP_ROOT ]] || [[ ! -x $APP_ROOT ]]
|
||||||
|
then
|
||||||
APP_PATH=$APP_ROOT
|
APP_PATH=$APP_ROOT
|
||||||
echo "Error: Can not read $APP_PATH directory!" >&2
|
echo "Error: Can not read $APP_PATH directory!" >&2
|
||||||
ExitOut 4
|
ExitOut 4
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ ${APP_ROOT%%/COMMENT_STAR} != "" ]] then
|
if [[ ${APP_ROOT%%/COMMENT_STAR} != "" ]]
|
||||||
|
then
|
||||||
APP_ROOT=$(pwd)/$APP_ROOT
|
APP_ROOT=$(pwd)/$APP_ROOT
|
||||||
fi
|
fi
|
||||||
|
|
||||||
XCOMM -------------------------------------------------------------------
|
XCOMM -------------------------------------------------------------------
|
||||||
XCOMM If target is specified, do some sanity checks on this path.
|
XCOMM If target is specified, do some sanity checks on this path.
|
||||||
XCOMM -------------------------------------------------------------------
|
XCOMM -------------------------------------------------------------------
|
||||||
if [[ $tFLAG = 1 ]] then
|
if [[ $tFLAG = 1 ]]
|
||||||
if [[ ! -d $APP_TARGET ]] then
|
then
|
||||||
|
if [[ ! -d $APP_TARGET ]]
|
||||||
|
then
|
||||||
APP_PATH=$APP_TARGET
|
APP_PATH=$APP_TARGET
|
||||||
echo "Error: $APP_PATH is not a directory!" >&2
|
echo "Error: $APP_PATH is not a directory!" >&2
|
||||||
ExitOut 4
|
ExitOut 4
|
||||||
fi
|
fi
|
||||||
if [[ ! -r $APP_TARGET ]] || [[ ! -x $APP_TARGET ]] then
|
if [[ ! -r $APP_TARGET ]] || [[ ! -x $APP_TARGET ]]
|
||||||
|
then
|
||||||
APP_PATH=$APP_TARGET
|
APP_PATH=$APP_TARGET
|
||||||
echo "Error: Can not read $APP_PATH directory!" >&2
|
echo "Error: Can not read $APP_PATH directory!" >&2
|
||||||
ExitOut 4
|
ExitOut 4
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ ${APP_TARGET%%/COMMENT_STAR} != "" ]] then
|
if [[ ${APP_TARGET%%/COMMENT_STAR} != "" ]]
|
||||||
|
then
|
||||||
APP_TARGET=$(pwd)/$APP_TARGET
|
APP_TARGET=$(pwd)/$APP_TARGET
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
@ -410,16 +427,18 @@ XCOMM Set up variables.
|
||||||
XCOMM -------------------------------------------------------------------
|
XCOMM -------------------------------------------------------------------
|
||||||
APP_ROOT=$APP_ROOT$APPCONFIG
|
APP_ROOT=$APP_ROOT$APPCONFIG
|
||||||
|
|
||||||
if [[ $APP_LANG != "" ]] then
|
if [[ $APP_LANG != "" ]]
|
||||||
|
then
|
||||||
APP_LANG=/$APP_LANG
|
APP_LANG=/$APP_LANG
|
||||||
fi
|
fi
|
||||||
|
|
||||||
XCOMM -------------------------------------------------------------------
|
XCOMM -------------------------------------------------------------------
|
||||||
XCOMM Unintegrate the application by un-doing the integration steps.
|
XCOMM Unintegrate the application by un-doing the integration steps.
|
||||||
XCOMM -------------------------------------------------------------------
|
XCOMM -------------------------------------------------------------------
|
||||||
if [[ $uFLAG = 1 ]] then
|
if [[ $uFLAG = 1 ]]
|
||||||
IntegrateUnintegrate FALSE
|
then
|
||||||
if [[ $? = 0 ]] then
|
if IntegrateUnintegrate FALSE
|
||||||
|
then
|
||||||
echo "Unintegration Complete"
|
echo "Unintegration Complete"
|
||||||
else
|
else
|
||||||
echo "No files to unintegrate"
|
echo "No files to unintegrate"
|
||||||
|
@ -432,16 +451,17 @@ XCOMM See if these directories exist. If they don't, then create them.
|
||||||
XCOMM -------------------------------------------------------------------
|
XCOMM -------------------------------------------------------------------
|
||||||
for i in $APP_TARGET$ICONS$APP_LANG $APP_TARGET$TYPES$APP_LANG $APP_TARGET$APPMANAGER$APP_LANG $APP_TARGET$HELP$APP_LANG
|
for i in $APP_TARGET$ICONS$APP_LANG $APP_TARGET$TYPES$APP_LANG $APP_TARGET$APPMANAGER$APP_LANG $APP_TARGET$HELP$APP_LANG
|
||||||
do
|
do
|
||||||
if [[ ! -d $i ]] then
|
if [[ ! -d $i ]]
|
||||||
mkdir -p $i
|
then
|
||||||
|
mkdir -p "$i"
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
XCOMM -------------------------------------------------------------------
|
XCOMM -------------------------------------------------------------------
|
||||||
XCOMM Determine which awk to use.
|
XCOMM Determine which awk to use.
|
||||||
XCOMM -------------------------------------------------------------------
|
XCOMM -------------------------------------------------------------------
|
||||||
$(type nawk > /dev/null 2>&1)
|
if ! type nawk > /dev/null 2>&1
|
||||||
if [[ $? != 0 ]] then
|
then
|
||||||
AWK="awk"
|
AWK="awk"
|
||||||
else
|
else
|
||||||
AWK="nawk"
|
AWK="nawk"
|
||||||
|
@ -450,8 +470,8 @@ fi
|
||||||
XCOMM -------------------------------------------------------------------
|
XCOMM -------------------------------------------------------------------
|
||||||
XCOMM Integrate the application.
|
XCOMM Integrate the application.
|
||||||
XCOMM -------------------------------------------------------------------
|
XCOMM -------------------------------------------------------------------
|
||||||
IntegrateUnintegrate TRUE
|
if IntegrateUnintegrate TRUE
|
||||||
if [[ $? = 0 ]] then
|
then
|
||||||
echo "Integration Complete"
|
echo "Integration Complete"
|
||||||
else
|
else
|
||||||
echo "No files to integrate"
|
echo "No files to integrate"
|
||||||
|
|
|
@ -3,11 +3,7 @@ XCOMM $XConsortium: Imakefile /main/6 1996/10/24 00:10:08 cde-hp $
|
||||||
#define IHaveSubdirs
|
#define IHaveSubdirs
|
||||||
#define PassCDebugFlags 'CDEBUGFLAGS=$(CDEBUGFLAGS)'
|
#define PassCDebugFlags 'CDEBUGFLAGS=$(CDEBUGFLAGS)'
|
||||||
|
|
||||||
#if !UseNSGMLS
|
SUBDIRS = doc2sdl lib instant xlate_locale
|
||||||
SGMLSDIR = sgmls
|
|
||||||
#endif
|
|
||||||
|
|
||||||
SUBDIRS = doc2sdl lib tcl instant $(SGMLSDIR) xlate_locale
|
|
||||||
|
|
||||||
MakeSubdirs($(SUBDIRS))
|
MakeSubdirs($(SUBDIRS))
|
||||||
DependSubdirs($(SUBDIRS))
|
DependSubdirs($(SUBDIRS))
|
||||||
|
|
|
@ -123,24 +123,6 @@ if {[info commands OutputString] == ""} {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
# set up a default string compare routine so everything works even
|
|
||||||
# if run outside of instant(1); it won't really be i18n safe, but
|
|
||||||
# it'll give us a dictionary sort
|
|
||||||
if {[info commands CompareI18NStrings] == ""} {
|
|
||||||
proc CompareI18NStrings {string1 string2} {
|
|
||||||
set string1 [string toupper $string1]
|
|
||||||
set string2 [string toupper $string2]
|
|
||||||
if {$string1 > $string2} {
|
|
||||||
return 1
|
|
||||||
} else if {$string1 < $string2} {
|
|
||||||
return -1
|
|
||||||
} else {
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
# emit a string to the output stream
|
# emit a string to the output stream
|
||||||
proc Emit {string} {
|
proc Emit {string} {
|
||||||
OutputString $string
|
OutputString $string
|
||||||
|
@ -1624,10 +1606,14 @@ proc EndPart {} {
|
||||||
|
|
||||||
# check that all the glossed terms have been defined
|
# check that all the glossed terms have been defined
|
||||||
foreach name [array names currentGlossArray] {
|
foreach name [array names currentGlossArray] {
|
||||||
if {[lindex $currentGlossArray($name) 1] != "defined"} {
|
if {[info exists currentGlossArray($name)]} {
|
||||||
set glossString [lindex $currentGlossArray($name) 2]
|
if {[lindex $currentGlossArray($name) 1] != "defined"} {
|
||||||
UserError "No glossary definition for \"$glossString\"" no
|
set glossString [lindex $currentGlossArray($name) 2]
|
||||||
}
|
UserError "No glossary definition for \"$glossString\"" no
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
puts stderr "EndPart: currentGlossArray: index does not exist: '$name'"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
# delete this glossary array
|
# delete this glossary array
|
||||||
|
@ -2195,6 +2181,7 @@ proc SortAndEmitGlossary {popForm} {
|
||||||
|
|
||||||
set names [array names currentGlossArray]
|
set names [array names currentGlossArray]
|
||||||
foreach name $names {
|
foreach name $names {
|
||||||
|
# puts stderr "JET0: name: $name"
|
||||||
upvar 0 currentGlossArray($name) glossEntryList
|
upvar 0 currentGlossArray($name) glossEntryList
|
||||||
|
|
||||||
# skip this array entry if we've already emitted it; mark as
|
# skip this array entry if we've already emitted it; mark as
|
||||||
|
@ -2213,9 +2200,15 @@ proc SortAndEmitGlossary {popForm} {
|
||||||
append sortArray($sortAs) $content
|
append sortArray($sortAs) $content
|
||||||
}
|
}
|
||||||
|
|
||||||
set names [lsort -command CompareI18NStrings [array names sortArray]]
|
set idxnames [lsort -dictionary [array names sortArray]]
|
||||||
foreach name $names {
|
|
||||||
Emit $sortArray($name)
|
foreach name $idxnames {
|
||||||
|
# puts stderr "JET1: name: $name"
|
||||||
|
if {[info exists sortArray($name)]} {
|
||||||
|
Emit $sortArray($name)
|
||||||
|
} else {
|
||||||
|
puts stderr "SortAndEmitGlossary: sortArray index does not exist: '$name'"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if {[string toupper $popForm] == "POPFORM"} {
|
if {[string toupper $popForm] == "POPFORM"} {
|
||||||
|
@ -2473,32 +2466,36 @@ proc WriteIndex {} {
|
||||||
|
|
||||||
set file [open "${baseName}.idx" w]
|
set file [open "${baseName}.idx" w]
|
||||||
|
|
||||||
# sort the index using our special I18N safe sort function that
|
# sort the index
|
||||||
# gives us a dictionary (case insensitive) sort
|
|
||||||
set names [lsort -command CompareI18NStrings [array names indexArray]]
|
|
||||||
|
|
||||||
if {[set length [llength $names]]} {
|
set idxnames [lsort -dictionary [array names indexArray]]
|
||||||
|
|
||||||
|
if {[set length [llength $idxnames]]} {
|
||||||
set oldLevel 0
|
set oldLevel 0
|
||||||
puts $file "<INDEX COUNT=\"$length\">"
|
puts $file "<INDEX COUNT=\"$length\">"
|
||||||
foreach name $names {
|
foreach name $idxnames {
|
||||||
set thisEntry $indexArray($name)
|
if {[info exists indexArray($name)]} {
|
||||||
switch [lindex $thisEntry 0] {
|
set thisEntry $indexArray($name)
|
||||||
1 { switch $oldLevel {
|
switch [lindex $thisEntry 0] {
|
||||||
1 { puts $file "</ENTRY>" }
|
1 { switch $oldLevel {
|
||||||
2 { puts $file "</ENTRY>\n</ENTRY>" }
|
1 { puts $file "</ENTRY>" }
|
||||||
3 { puts $file "</ENTRY>\n</ENTRY>\n</ENTRY>" }
|
2 { puts $file "</ENTRY>\n</ENTRY>" }
|
||||||
|
3 { puts $file "</ENTRY>\n</ENTRY>\n</ENTRY>" }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
2 { switch $oldLevel {
|
2 { switch $oldLevel {
|
||||||
2 { puts $file "</ENTRY>" }
|
2 { puts $file "</ENTRY>" }
|
||||||
3 { puts $file "</ENTRY>\n</ENTRY>" }
|
3 { puts $file "</ENTRY>\n</ENTRY>" }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
3 { if {$oldLevel == 3} { puts $file "</ENTRY>" } }
|
3 { if {$oldLevel == 3} { puts $file "</ENTRY>" } }
|
||||||
}
|
}
|
||||||
puts -nonewline $file "<ENTRY[Locs $thisEntry]>"
|
puts -nonewline $file "<ENTRY[Locs $thisEntry]>"
|
||||||
puts -nonewline $file [lindex $thisEntry 3]
|
puts -nonewline $file [lindex $thisEntry 3]
|
||||||
set oldLevel [lindex $thisEntry 0]
|
set oldLevel [lindex $thisEntry 0]
|
||||||
|
} else {
|
||||||
|
puts stderr "WriteIndex: index does not exist: '$name'"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
switch $oldLevel {
|
switch $oldLevel {
|
||||||
|
@ -2547,10 +2544,10 @@ proc FootnoteRef {idref} {
|
||||||
|
|
||||||
# add an element to the current SNB - try to reuse an entry if
|
# add an element to the current SNB - try to reuse an entry if
|
||||||
# possible
|
# possible
|
||||||
proc AddToSNB {type data} {
|
proc AddToSNB {stype data} {
|
||||||
global currentSNB nextId
|
global currentSNB nextId
|
||||||
|
|
||||||
set index "$type::$data"
|
set index "${stype}::${data}"
|
||||||
|
|
||||||
if {[info exists currentSNB($index)]} {
|
if {[info exists currentSNB($index)]} {
|
||||||
set snbId $currentSNB($index)
|
set snbId $currentSNB($index)
|
||||||
|
|
|
@ -2,10 +2,22 @@ XCOMM $XConsortium: Imakefile /main/6 1996/11/29 11:06:09 rswiston $
|
||||||
|
|
||||||
XLATESRC = $(DTSVCSRC)/DtUtil2
|
XLATESRC = $(DTSVCSRC)/DtUtil2
|
||||||
|
|
||||||
INCLUDES = -I../lib/tptregexp -I../tcl -I$(XLATESRC)
|
TCLINC =
|
||||||
|
TCLLIB =
|
||||||
|
|
||||||
|
#if defined(LinuxArchitecture)
|
||||||
|
TCLINC = -I/usr/include/tcl
|
||||||
|
TCLLIB = -ltcl
|
||||||
|
#elif defined(FreeBSDArchitecture) || defined(OpenBSDArchitecture)
|
||||||
|
TCLINC = -I/usr/local/include/tcl8.6
|
||||||
|
TCLLIB = -ltcl86
|
||||||
|
#endif
|
||||||
|
|
||||||
|
INCLUDES = -I../lib/tptregexp -I$(XLATESRC) $(TCLINC)
|
||||||
DEPLIBS = $(DEPDTSVCLIB)
|
DEPLIBS = $(DEPDTSVCLIB)
|
||||||
LOCAL_LIBRARIES = $(DTSVCLIB) $(TTLIB) $(XMLIB) $(XTOOLLIB) $(XLIB) \
|
LOCAL_LIBRARIES = $(DTSVCLIB) $(TTLIB) $(XMLIB) $(XTOOLLIB) $(XLIB) \
|
||||||
-L../lib/tptregexp -ltptregexp ../tcl/libtcl.a
|
-L../lib/tptregexp -ltptregexp $(TCLLIB)
|
||||||
|
|
||||||
#if defined(SunArchitecture)
|
#if defined(SunArchitecture)
|
||||||
EXTRA_LIBRARIES = -lsocket -lnsl -lgen -lm
|
EXTRA_LIBRARIES = -lsocket -lnsl -lgen -lm
|
||||||
#else
|
#else
|
||||||
|
|
|
@ -324,9 +324,3 @@ void PrintElemTree(Element_t *);
|
||||||
void PrintStats(Element_t *);
|
void PrintStats(Element_t *);
|
||||||
void PrintIDList();
|
void PrintIDList();
|
||||||
|
|
||||||
/* ----- other declarations ----- */
|
|
||||||
|
|
||||||
#ifdef ultrix
|
|
||||||
#define strdup(s) strcpy((char *)malloc(strlen(s)+1), s)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
|
@ -111,19 +111,15 @@ extern void Browse();
|
||||||
static int TclPrintLocation(ClientData clientData,
|
static int TclPrintLocation(ClientData clientData,
|
||||||
Tcl_Interp *interp,
|
Tcl_Interp *interp,
|
||||||
int argc,
|
int argc,
|
||||||
char *argv[]);
|
const char *argv[]);
|
||||||
static int DefaultOutputString(ClientData clientData,
|
static int DefaultOutputString(ClientData clientData,
|
||||||
Tcl_Interp *interp,
|
Tcl_Interp *interp,
|
||||||
int argc,
|
int argc,
|
||||||
char *argv[]);
|
const char *argv[]);
|
||||||
static int CompareI18NStrings(ClientData clientData,
|
|
||||||
Tcl_Interp *interp,
|
|
||||||
int argc,
|
|
||||||
char *argv[]);
|
|
||||||
static int TclReadLocaleStrings(ClientData clientData,
|
static int TclReadLocaleStrings(ClientData clientData,
|
||||||
Tcl_Interp *interp,
|
Tcl_Interp *interp,
|
||||||
int argc,
|
int argc,
|
||||||
char *argv[]);
|
const char *argv[]);
|
||||||
char *GetOutFileBaseName();
|
char *GetOutFileBaseName();
|
||||||
|
|
||||||
char *
|
char *
|
||||||
|
@ -208,17 +204,6 @@ main(
|
||||||
0,
|
0,
|
||||||
0);
|
0);
|
||||||
|
|
||||||
/* Add a function to the interpreter to compare to strings. Our
|
|
||||||
* comparison will unmung any i18n characters (see
|
|
||||||
* {Un}EscapeI18NChars()) and uppercase the strings before
|
|
||||||
* comparison to insure we get a dictionary sort. We also use the
|
|
||||||
* nl_strcmp() function to get proper i18n collation */
|
|
||||||
Tcl_CreateCommand(interpreter,
|
|
||||||
"CompareI18NStrings",
|
|
||||||
CompareI18NStrings,
|
|
||||||
0,
|
|
||||||
0);
|
|
||||||
|
|
||||||
/* Add a function to read a localized set of data from a file.
|
/* Add a function to read a localized set of data from a file.
|
||||||
* We'll make sure the munging takes place so we can parse it
|
* We'll make sure the munging takes place so we can parse it
|
||||||
* in Tcl and any strings we get will output properly when
|
* in Tcl and any strings we get will output properly when
|
||||||
|
@ -356,12 +341,11 @@ static char *UnEscapeI18NChars(
|
||||||
static int DefaultOutputString(ClientData clientData,
|
static int DefaultOutputString(ClientData clientData,
|
||||||
Tcl_Interp *interp,
|
Tcl_Interp *interp,
|
||||||
int argc,
|
int argc,
|
||||||
char *argv[])
|
const char *argv[])
|
||||||
{
|
{
|
||||||
#define LOCAL_BUFFER_LENGTH 128
|
char *string = NULL, *pString = NULL;
|
||||||
char *string, *pString, *pArgv;
|
const char *pArgv = NULL;
|
||||||
char localBuffer[LOCAL_BUFFER_LENGTH];
|
int retCode = 0, stringLength = 0;
|
||||||
int retCode, stringLength;
|
|
||||||
|
|
||||||
if (argc < 2) {
|
if (argc < 2) {
|
||||||
Tcl_SetResult(interpreter, "Missing string to output", TCL_VOLATILE);
|
Tcl_SetResult(interpreter, "Missing string to output", TCL_VOLATILE);
|
||||||
|
@ -375,14 +359,10 @@ static int DefaultOutputString(ClientData clientData,
|
||||||
|
|
||||||
/* leave room for worst case expansion plus quotes plus null */
|
/* leave room for worst case expansion plus quotes plus null */
|
||||||
pArgv = argv[1];
|
pArgv = argv[1];
|
||||||
stringLength = (2 * strlen(pArgv)) + 3;
|
stringLength = (3 * strlen(pArgv)) + 3;
|
||||||
|
|
||||||
/* try to use automatic buffer; use malloc if string is too large */
|
string = Tcl_Alloc(stringLength);
|
||||||
if (stringLength <= LOCAL_BUFFER_LENGTH) {
|
memset(string, 0, stringLength);
|
||||||
string = localBuffer;
|
|
||||||
} else {
|
|
||||||
string = malloc(stringLength);
|
|
||||||
}
|
|
||||||
pString = string;
|
pString = string;
|
||||||
|
|
||||||
|
|
||||||
|
@ -390,109 +370,69 @@ static int DefaultOutputString(ClientData clientData,
|
||||||
* any characters that will throw Tcl for a loop */
|
* any characters that will throw Tcl for a loop */
|
||||||
*pString++ = '"';
|
*pString++ = '"';
|
||||||
while (*pArgv) {
|
while (*pArgv) {
|
||||||
switch (*pArgv) {
|
if (*pArgv & 0x80)
|
||||||
case '{':
|
{
|
||||||
case '}':
|
/* 8-bit data - need to encode since modern Tcl expects
|
||||||
case '"':
|
* any "binary" (8-bit) data in strings to be proper UTF-8
|
||||||
case '\'':
|
* encoded. We aren't doing that (yet), so convert any
|
||||||
case '[':
|
* detected 8b characters into a \xNN format.
|
||||||
case ']':
|
*
|
||||||
case '$':
|
* This code should be unnecessary when we switch to UTF8.
|
||||||
case '\\':
|
*/
|
||||||
*pString++ = '\\';
|
char fmt[16];
|
||||||
}
|
snprintf(fmt, 16, "%02x", (int)*pArgv & 0xff);
|
||||||
*pString++ = *pArgv++;
|
#if 0
|
||||||
|
fprintf(stderr, "JET: converted 0x%02x to '%s'\n",
|
||||||
|
*pArgv, fmt);
|
||||||
|
#endif
|
||||||
|
/* copy the 4 bytes into the string */
|
||||||
|
*pString++ = '\\';
|
||||||
|
*pString++ = 'x';
|
||||||
|
*pString++ = fmt[0];
|
||||||
|
*pString++ = fmt[1];
|
||||||
|
pArgv++;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
switch (*pArgv) {
|
||||||
|
case '{':
|
||||||
|
case '}':
|
||||||
|
case '"':
|
||||||
|
case '\'':
|
||||||
|
case '[':
|
||||||
|
case ']':
|
||||||
|
case '$':
|
||||||
|
case '\\':
|
||||||
|
*pString++ = '\\';
|
||||||
|
}
|
||||||
|
*pString++ = *pArgv++;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
*pString++ = '"';
|
*pString++ = '"';
|
||||||
*pString++ = 0;
|
*pString++ = 0;
|
||||||
|
|
||||||
/* put the string to the output */
|
/* put the string to the output */
|
||||||
retCode = Tcl_VarEval(interpreter, "puts -nonewline ", string, 0);
|
retCode = Tcl_VarEval(interpreter, "puts -nonewline ", string,
|
||||||
|
(char *)NULL);
|
||||||
/* free the string if we're not using the automatic buffer */
|
#if 0
|
||||||
if (string != localBuffer) {
|
/* JET*/
|
||||||
free(string);
|
if (retCode != TCL_OK)
|
||||||
|
{
|
||||||
|
fprintf(stderr, "JET: retCode = %d, LEN = %d STRING = '%s'\n",
|
||||||
|
retCode, strlen(string), string);
|
||||||
|
fprintf(stderr, "\tstring[1] = 0x%02x\n", string[1]);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
Tcl_Free(string);
|
||||||
|
|
||||||
/* and ripple up any error code we got from the "puts" */
|
/* and ripple up any error code we got from the "puts" */
|
||||||
return retCode;
|
return retCode;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static int CompareI18NStrings(ClientData clientData,
|
|
||||||
Tcl_Interp *interp,
|
|
||||||
int argc,
|
|
||||||
char *argv[])
|
|
||||||
{
|
|
||||||
int ret_val, len;
|
|
||||||
char *ret_string, *cp;
|
|
||||||
|
|
||||||
if (argc < 3) {
|
|
||||||
Tcl_SetResult(interpreter,
|
|
||||||
"Missing string(s) to compare",
|
|
||||||
TCL_VOLATILE);
|
|
||||||
return TCL_ERROR;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (argc > 3) {
|
|
||||||
Tcl_SetResult(interpreter, "Too many arguments", TCL_VOLATILE);
|
|
||||||
return TCL_ERROR;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* unmung the two strings (see {Un}EscapeI18NChars()) */
|
|
||||||
UnEscapeI18NChars(argv[1]);
|
|
||||||
UnEscapeI18NChars(argv[2]);
|
|
||||||
|
|
||||||
/* upper case the strings to insure a dictionary sort */
|
|
||||||
cp = argv[1];
|
|
||||||
while (*cp) {
|
|
||||||
if ((len = mblen(cp, MB_CUR_MAX)) == 1) {
|
|
||||||
if (isalpha(*cp)) {
|
|
||||||
*cp = toupper(*cp);
|
|
||||||
}
|
|
||||||
cp++;
|
|
||||||
} else {
|
|
||||||
if (len > 0)
|
|
||||||
cp += len;
|
|
||||||
else
|
|
||||||
break; /* JET - we should be done here... */
|
|
||||||
}
|
|
||||||
}
|
|
||||||
cp = argv[2];
|
|
||||||
while (*cp) {
|
|
||||||
if ((len = mblen(cp, MB_CUR_MAX)) == 1) {
|
|
||||||
if (isalpha(*cp)) {
|
|
||||||
*cp = toupper(*cp);
|
|
||||||
}
|
|
||||||
cp++;
|
|
||||||
} else {
|
|
||||||
if (len > 0)
|
|
||||||
cp += len;
|
|
||||||
else
|
|
||||||
break; /* JET - we should be done here... */
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* compare the strings using an I18N safe sort */
|
|
||||||
ret_val = strcoll(argv[1], argv[2]);
|
|
||||||
if (ret_val > 0) {
|
|
||||||
ret_string = "1";
|
|
||||||
} else if (ret_val < 0) {
|
|
||||||
ret_string = "-1";
|
|
||||||
} else {
|
|
||||||
ret_string = "0";
|
|
||||||
}
|
|
||||||
|
|
||||||
Tcl_SetResult(interpreter, ret_string, TCL_VOLATILE);
|
|
||||||
|
|
||||||
return TCL_OK;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static int TclPrintLocation(ClientData clientData,
|
static int TclPrintLocation(ClientData clientData,
|
||||||
Tcl_Interp *interp,
|
Tcl_Interp *interp,
|
||||||
int argc,
|
int argc,
|
||||||
char *argv[])
|
const char *argv[])
|
||||||
{
|
{
|
||||||
if (argc > 1) {
|
if (argc > 1) {
|
||||||
Tcl_SetResult(interpreter, "Too many arguments", TCL_VOLATILE);
|
Tcl_SetResult(interpreter, "Too many arguments", TCL_VOLATILE);
|
||||||
|
@ -917,27 +857,27 @@ EscapeI18NChars(
|
||||||
|
|
||||||
|
|
||||||
static char *
|
static char *
|
||||||
ReadLocaleStrings(char *file_name, int *ret_code) {
|
ReadLocaleStrings(const char *file_name, int *ret_code) {
|
||||||
int fd;
|
int fd;
|
||||||
char *pBuf;
|
char *pBuf;
|
||||||
char *i18nBuf;
|
char *i18nBuf;
|
||||||
off_t size;
|
off_t size;
|
||||||
struct stat stat_buf;
|
struct stat stat_buf;
|
||||||
|
|
||||||
fd = open(file_name, O_RDONLY);
|
fd = open(file_name, O_RDONLY);
|
||||||
if (fd == -1) {
|
if (fd == -1) {
|
||||||
*ret_code = 1;
|
*ret_code = 1;
|
||||||
return "";
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
fstat(fd, &stat_buf);
|
fstat(fd, &stat_buf);
|
||||||
size = stat_buf.st_size;
|
size = stat_buf.st_size;
|
||||||
pBuf = malloc(size+1);
|
pBuf = Tcl_Alloc(size+1);
|
||||||
pBuf[size] = 0;
|
memset(pBuf, 0, size+1);
|
||||||
|
|
||||||
if (read(fd, pBuf, size) != size) {
|
if (read(fd, pBuf, size) != size) {
|
||||||
*ret_code = 2;
|
*ret_code = 2;
|
||||||
return "";
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
i18nBuf = EscapeI18NChars(pBuf);
|
i18nBuf = EscapeI18NChars(pBuf);
|
||||||
|
@ -952,10 +892,10 @@ struct stat stat_buf;
|
||||||
static int TclReadLocaleStrings(ClientData clientData,
|
static int TclReadLocaleStrings(ClientData clientData,
|
||||||
Tcl_Interp *interp,
|
Tcl_Interp *interp,
|
||||||
int argc,
|
int argc,
|
||||||
char *argv[]) {
|
const char *argv[]) {
|
||||||
char *pBuf;
|
char *pBuf;
|
||||||
int ret_code;
|
int ret_code;
|
||||||
char errorBuf[512];
|
char errorBuf[512];
|
||||||
|
|
||||||
if (argc > 2) {
|
if (argc > 2) {
|
||||||
Tcl_SetResult(interpreter, "Too many arguments", TCL_VOLATILE);
|
Tcl_SetResult(interpreter, "Too many arguments", TCL_VOLATILE);
|
||||||
|
|
|
@ -207,7 +207,7 @@ ExpandVariables(
|
||||||
if (*ip == VDELIM && *(ip+1) == L_CURLY && *(ip+2) != '_') {
|
if (*ip == VDELIM && *(ip+1) == L_CURLY && *(ip+2) != '_') {
|
||||||
ip++;
|
ip++;
|
||||||
ip++; /* point at variable name */
|
ip++; /* point at variable name */
|
||||||
len + 2;
|
len += 2;
|
||||||
vp = vbuf;
|
vp = vbuf;
|
||||||
/* Look for matching (closing) curly. (watch for nesting)
|
/* Look for matching (closing) curly. (watch for nesting)
|
||||||
* We store the variable content in a tmp buffer, so we don't
|
* We store the variable content in a tmp buffer, so we don't
|
||||||
|
@ -294,9 +294,16 @@ CallInterpreter(
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
int result;
|
int result;
|
||||||
char line[20];
|
|
||||||
int recursive;
|
int recursive;
|
||||||
|
|
||||||
|
#if 0
|
||||||
|
if (ib)
|
||||||
|
{
|
||||||
|
fprintf(stderr, "JET: %s: IB = '%s'\n", __FUNCTION__,
|
||||||
|
ib);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
/* save the value of this "e" to be used by Tcl_PrintLocation in
|
/* save the value of this "e" to be used by Tcl_PrintLocation in
|
||||||
* the case of a user error
|
* the case of a user error
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -525,7 +525,7 @@ OutputString(
|
||||||
int track_pos
|
int track_pos
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
char c, *sdata, *cp;
|
char c = 0, *sdata, *cp;
|
||||||
static int char_pos; /* remembers our character position */
|
static int char_pos; /* remembers our character position */
|
||||||
static int interp_pos; /* like char_pos but when output is to interp */
|
static int interp_pos; /* like char_pos but when output is to interp */
|
||||||
int *ppos; /* points to appropriate line position var */
|
int *ppos; /* points to appropriate line position var */
|
||||||
|
@ -678,8 +678,8 @@ static int CheckOutputBuffer(
|
||||||
*/
|
*/
|
||||||
int FFlush(FILE *stream)
|
int FFlush(FILE *stream)
|
||||||
{
|
{
|
||||||
if (stream) return fflush(stream);
|
if (stream) return fflush(stream);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -722,8 +722,8 @@ int Putc(
|
||||||
if (result != TCL_OK) {
|
if (result != TCL_OK) {
|
||||||
fprintf(stderr,
|
fprintf(stderr,
|
||||||
"interpreter error \"%s\" at line %d executing:\n",
|
"interpreter error \"%s\" at line %d executing:\n",
|
||||||
interpreter->result,
|
Tcl_GetStringResult(interpreter),
|
||||||
interpreter->errorLine);
|
Tcl_GetErrorLine(interpreter));
|
||||||
fprintf(stderr, "\"%s\"\n", commandBuf);
|
fprintf(stderr, "\"%s\"\n", commandBuf);
|
||||||
return EOF;
|
return EOF;
|
||||||
}
|
}
|
||||||
|
@ -787,8 +787,8 @@ int FPuts(
|
||||||
if (result != TCL_OK) {
|
if (result != TCL_OK) {
|
||||||
fprintf(stderr,
|
fprintf(stderr,
|
||||||
"interpreter error \"%s\" at line %d executing:\n",
|
"interpreter error \"%s\" at line %d executing:\n",
|
||||||
interpreter->result,
|
Tcl_GetStringResult(interpreter),
|
||||||
interpreter->errorLine);
|
Tcl_GetErrorLine(interpreter));
|
||||||
fprintf(stderr, "\"%s\"\n", pBuff);
|
fprintf(stderr, "\"%s\"\n", pBuff);
|
||||||
if (pBuff != commandBuf) free(pBuff);
|
if (pBuff != commandBuf) free(pBuff);
|
||||||
return EOF;
|
return EOF;
|
||||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -1,56 +0,0 @@
|
||||||
This file describes how to install sgmls.
|
|
||||||
|
|
||||||
UNIX
|
|
||||||
----
|
|
||||||
|
|
||||||
Look at the Makefile and edit it if necessary.
|
|
||||||
|
|
||||||
Do `make config.h'. This runs a shell script that generates an
|
|
||||||
appropriate config.h file from unix.cfg. If this works, have a look
|
|
||||||
at config.h and make sure it's correct. (In particular you might want
|
|
||||||
to change the definition of DEFAULT_PATH.) If this doesn't work, copy
|
|
||||||
unix.cfg to config.h, and then edit config.h yourself; please also
|
|
||||||
tell me what went wrong.
|
|
||||||
|
|
||||||
Do `make'.
|
|
||||||
|
|
||||||
If you like, do `make test' to run some tests.
|
|
||||||
|
|
||||||
Do `make install' to install the binaries.
|
|
||||||
|
|
||||||
If you like, do `make install.man' to install the man pages.
|
|
||||||
|
|
||||||
MS-DOS with Borland C++ 2.0
|
|
||||||
---------------------------
|
|
||||||
|
|
||||||
Rename makefile to makefile.ux and then rename makefile.bcc to
|
|
||||||
makefile.
|
|
||||||
|
|
||||||
Copy dos.cfg to config.h.
|
|
||||||
|
|
||||||
Look at config.h and makefile and edit them if you want.
|
|
||||||
|
|
||||||
Do `make -S'.
|
|
||||||
|
|
||||||
Copy sgmls.exe and sgmlsasp.exe to a directory that's on your path.
|
|
||||||
|
|
||||||
VAX/VMS
|
|
||||||
-------
|
|
||||||
|
|
||||||
Copy vms.cfg to config.h.
|
|
||||||
|
|
||||||
Look at Makefile.vms and config.h and edit them if you want.
|
|
||||||
|
|
||||||
Use the script in Makefile.vms to build sgmls and sgmlsasp.
|
|
||||||
|
|
||||||
VM/CMS
|
|
||||||
------
|
|
||||||
|
|
||||||
[This configuration is untested.]
|
|
||||||
|
|
||||||
Copy cms.cfg to config.h.
|
|
||||||
|
|
||||||
Use Makefile.cms to build sgmls and sgmlsasp.
|
|
||||||
|
|
||||||
James Clark
|
|
||||||
jjc@jclark.com
|
|
|
@ -1,45 +0,0 @@
|
||||||
XCOMM $XConsortium: Imakefile /main/3 1996/07/17 12:21:51 rws $
|
|
||||||
|
|
||||||
#ifdef IBMArchitecture
|
|
||||||
EXTRA_DEFINES = -Dvfork=fork
|
|
||||||
#endif
|
|
||||||
|
|
||||||
PROG1=sgmls
|
|
||||||
SRCS1=lexrf.c pcbrf.c synrf.c context.c md1.c md2.c pars1.c pars2.c serv.c \
|
|
||||||
sgml1.c sgml2.c sgmlmsg.c sgmlxtrn.c traceset.c entgen.c sgmlio.c \
|
|
||||||
xfprintf.c main.c unixproc.c sgmldecl.c version.c strerror.c getopt.c \
|
|
||||||
msgcat.c lineout.c ambig.c exclude.c lextaba.c
|
|
||||||
|
|
||||||
OBJS1=lexrf.o pcbrf.o synrf.o context.o md1.o md2.o pars1.o pars2.o serv.o \
|
|
||||||
sgml1.o sgml2.o sgmlmsg.o sgmlxtrn.o traceset.o entgen.o sgmlio.o \
|
|
||||||
xfprintf.o main.o unixproc.o sgmldecl.o version.o strerror.o getopt.o \
|
|
||||||
msgcat.o lineout.o ambig.o exclude.o lextaba.o
|
|
||||||
|
|
||||||
PROG2=sgmlsasp
|
|
||||||
OBJS2=sgmlsasp.o replace.o sgmls.o strerror.o getopt.o
|
|
||||||
SRCS2a=sgmlsasp.c replace.c sgmls.c
|
|
||||||
SRCS2=$(SRCS2a) strerror.c getopt.c
|
|
||||||
|
|
||||||
PROG3=rast
|
|
||||||
SRCS3a=rast.c
|
|
||||||
SRCS3=$(SRCS3a) sgmls.c strerror.c
|
|
||||||
OBJS3=rast.o sgmls.o strerror.o getopt.o
|
|
||||||
|
|
||||||
XCOMM Not build for now...
|
|
||||||
PROG4=genlex
|
|
||||||
SRCS4a=genlex.c ebcdic.c
|
|
||||||
SRCS4=$(SRCS4a) lextaba.c lexrf.c
|
|
||||||
OBJS4=genlex.o ebcdic.o lextaba.o lexrf.o
|
|
||||||
|
|
||||||
XCOMM SRCS=$(SRCS1) $(SRCS2a) $(SRCS3a) $(SRCS4a) lextabe.c
|
|
||||||
|
|
||||||
HDRS=action.h adl.h entity.h error.h etype.h sgmldecl.h keyword.h lextoke.h \
|
|
||||||
msg.h sgmlaux.h sgmlfnsm.h sgmlincl.h sgmlmain.h lineout.h sgmlxtrn.h \
|
|
||||||
source.h synxtrn.h tools.h trace.h context.h getopt.h msgcat.h std.h \
|
|
||||||
appl.h sgmls.h sgmlsasp.h replace.h lexcode.h latin1.h ebcdic.h
|
|
||||||
|
|
||||||
PROGRAMS = $(PROG1) $(PROG2) $(PROG3)
|
|
||||||
|
|
||||||
ComplexProgramTarget_1(sgmls,,)
|
|
||||||
ComplexProgramTarget_2(sgmlsasp,,)
|
|
||||||
ComplexProgramTarget_3(rast,,)
|
|
|
@ -1,43 +0,0 @@
|
||||||
LICENSE AND DISCLAIMER OF WARRANTIES
|
|
||||||
|
|
||||||
Standard Generalized Markup Language Users' Group (SGMLUG)
|
|
||||||
SGML Parser Materials
|
|
||||||
|
|
||||||
1. License
|
|
||||||
|
|
||||||
SGMLUG hereby grants to any user: (1) an irrevocable royalty-free,
|
|
||||||
worldwide, non-exclusive license to use, execute, reproduce, display,
|
|
||||||
perform and distribute copies of, and to prepare derivative works
|
|
||||||
based upon these materials; and (2) the right to authorize others to
|
|
||||||
do any of the foregoing.
|
|
||||||
|
|
||||||
2. Disclaimer of Warranties
|
|
||||||
|
|
||||||
(a) The SGML Parser Materials are provided "as is" to any USER. USER
|
|
||||||
assumes responsibility for determining the suitability of the SGML
|
|
||||||
Parser Materials for its use and for results obtained. SGMLUG makes
|
|
||||||
no warranty that any errors have been eliminated from the SGML Parser
|
|
||||||
Materials or that they can be eliminated by USER. SGMLUG shall not
|
|
||||||
provide any support maintenance or other aid to USER or its licensees
|
|
||||||
with respect to SGML Parser Materials. SGMLUG shall not be
|
|
||||||
responsible for losses of any kind resulting from use of the SGML
|
|
||||||
Parser Materials including (without limitation) any liability for
|
|
||||||
business expense, machine downtime, or damages caused to USER or third
|
|
||||||
parties by any deficiency, defect, error, or malfunction.
|
|
||||||
|
|
||||||
(b) SGMLUG DISCLAIMS ALL WARRANTIES, EXPRESSED OR IMPLIED, ARISING OUT
|
|
||||||
OF OR RELATING TO THE SGML PARSER MATERIALS OR ANY USE THEREOF,
|
|
||||||
INCLUDING (WITHOUT LIMITATION) ANY WARRANTY WHATSOEVER AS TO THE
|
|
||||||
FITNESS FOR A PARTICULAR USE OR THE MERCHANTABILITY OF THE SGML PARSER
|
|
||||||
MATERIALS.
|
|
||||||
|
|
||||||
(c) In no event shall SGMLUG be liable to USER or third parties
|
|
||||||
licensed by USER for any indirect, special, incidental, or
|
|
||||||
consequential damages (including lost profits).
|
|
||||||
(d) SGMLUG has no knowledge of any conditions that would impair its right
|
|
||||||
to license the SGML Parser Materials. Notwithstanding the foregoing,
|
|
||||||
SGMLUG does not make any warranties or representations that the
|
|
||||||
SGML Parser Materials are free of claims by third parties of patent,
|
|
||||||
copyright infringement or the like, nor does SGMLUG assume any
|
|
||||||
liability in respect of any such infringement of rights of third
|
|
||||||
parties due to USER's operation under this license.
|
|
|
@ -1,104 +0,0 @@
|
||||||
This file describes recent user-visible changes in sgmls. Bug fixes
|
|
||||||
are not described. See the man pages for more details.
|
|
||||||
|
|
||||||
Version 1.1
|
|
||||||
===========
|
|
||||||
|
|
||||||
The rast filter converts the output of sgmls to RAST format. See
|
|
||||||
rast.man.
|
|
||||||
|
|
||||||
There have been some changes to the output format: system and public
|
|
||||||
identifiers for external entities and notations are specified using
|
|
||||||
the new `s' and `p' commands; the filenames for external entities are
|
|
||||||
specified using the new `f' command rather than being arguments to the
|
|
||||||
`E' and `S' commands; the `\s' escape sequence is no longer generated;
|
|
||||||
an `S' command is generated for an entity mentioned in a `{' command;
|
|
||||||
RS characters are no longer stripped and are represented by `\012'.
|
|
||||||
|
|
||||||
The -c option now takes an argument giving the name of the file to
|
|
||||||
which the report of capacity calculations should be written. The
|
|
||||||
report is in RACT format.
|
|
||||||
|
|
||||||
sgmls can now handle non-seekable devices (such as pipes). If no
|
|
||||||
filenames are specified on the command line, sgmls will read the
|
|
||||||
document entity from standard input. A filename of `-' can also be
|
|
||||||
used to refer to standard input.
|
|
||||||
|
|
||||||
The output format no longer distinguishes attributes whose declared
|
|
||||||
value is ID, IDREF or IDREFS and uses the TOKEN keyword for these.
|
|
||||||
(The ESIS does not distinguish these attributes.)
|
|
||||||
|
|
||||||
The -a option is no longer allowed.
|
|
||||||
|
|
||||||
Version 1.0
|
|
||||||
===========
|
|
||||||
|
|
||||||
Eight bit characters can be made name characters.
|
|
||||||
|
|
||||||
Ambiguous content models are always detected. The -a option is ignored.
|
|
||||||
|
|
||||||
Version 0.8
|
|
||||||
===========
|
|
||||||
|
|
||||||
On Unix systems, the configure script can automatically generate
|
|
||||||
config.h from unix.cfg.
|
|
||||||
|
|
||||||
An APPINFO parameter in the SGML declaration other than NONE is output
|
|
||||||
as a `#' command.
|
|
||||||
|
|
||||||
sgmls has a -iNAME option which defines a parameter entity NAME with
|
|
||||||
replacement text "INCLUDE".
|
|
||||||
|
|
||||||
sgmls has a -u option that warns about undefined elements.
|
|
||||||
|
|
||||||
In SGML_PATH, the public text designating sequence (escape sequence)
|
|
||||||
is now accessed with %E rather than %S. %S now gives the system
|
|
||||||
identifier. When a system identifier is supplied, SGML_PATH will be
|
|
||||||
used to generate a filename only if SGML_PATH uses %S and the system
|
|
||||||
identifier does not contain (semi-)colons.
|
|
||||||
|
|
||||||
An accordance with Amendment 1 to ISO 8879:1986, in the SGML
|
|
||||||
declaration `ISO 8879:1986' rather than `ISO 8879-1986' is required.
|
|
||||||
|
|
||||||
With MS-DOS, errors can be redirected to a file using the -f option.
|
|
||||||
|
|
||||||
Version 0.7
|
|
||||||
===========
|
|
||||||
|
|
||||||
More quantity limits can be changed. In particular, GRPCNT, GRPLVL
|
|
||||||
and GRPGTCNT can be increased up to 253; NAMELEN can be increased to
|
|
||||||
239. Names are now dynamically allocated (that is, the amount of
|
|
||||||
memory used to store a name depends on the actual length of the name
|
|
||||||
rather than on value specified for NAMELEN.)
|
|
||||||
|
|
||||||
sgmlasp supports a -n option which disables upper-case substitution
|
|
||||||
for names in replacement files.
|
|
||||||
|
|
||||||
sgmls has a -p option which makes it parse only the prolog.
|
|
||||||
|
|
||||||
The format of the I command has been changed: CDATA and SDATA entities
|
|
||||||
are distinguished using a keyword rather than by surrounding SDATA
|
|
||||||
entities with \|s.
|
|
||||||
|
|
||||||
Version 0.6
|
|
||||||
===========
|
|
||||||
|
|
||||||
A concrete syntax can now be specified explicitly in the SGML
|
|
||||||
declaration, and various parts of the reference concrete syntax can be
|
|
||||||
changed, including some quantity limits.
|
|
||||||
|
|
||||||
The treatment of notation identifiers and the syntax of the N output
|
|
||||||
command have been changed.
|
|
||||||
|
|
||||||
SUBDOC support works with MS-DOS.
|
|
||||||
|
|
||||||
The -n option has been removed; references to subdocument entities are
|
|
||||||
always resolved.
|
|
||||||
|
|
||||||
It is no longer possible to change the implied SGML declaration using
|
|
||||||
environment variables. You must use an explicit SGML declaration
|
|
||||||
instead.
|
|
||||||
|
|
||||||
The V output command has been removed.
|
|
||||||
|
|
||||||
sgmlsasp supports multiple replacement files.
|
|
|
@ -1,38 +0,0 @@
|
||||||
/* $XConsortium: README /main/2 1996/07/15 14:10:45 drk $ */
|
|
||||||
This is sgmls, an SGML parser derived from the ARCSGML parser
|
|
||||||
materials which were written by Charles F. Goldfarb. (These are
|
|
||||||
available for anonymous ftp from ftp.ifi.uio.no [128.240.88.1] in the
|
|
||||||
directory SIGhyper/SGMLUG/distrib.)
|
|
||||||
|
|
||||||
The version number is given in the file version.c.
|
|
||||||
|
|
||||||
The file INSTALL contains installation instructions.
|
|
||||||
|
|
||||||
The file NEWS describes recent user-visible changes.
|
|
||||||
|
|
||||||
The file sgmls.man contains a Unix manual page; sgmls.txt is the
|
|
||||||
formatted version of this.
|
|
||||||
|
|
||||||
The file sgml-mode.el contains a very simple SGML mode for GNU Emacs.
|
|
||||||
|
|
||||||
The files sgmls.c and sgmls.h contain a small library for parsing the
|
|
||||||
output of sgmls. This is used by sgmlsasp, which translates the
|
|
||||||
output of sgmls using an ASP replacement file, and by rast, which
|
|
||||||
translates the output of sgmls to the format of a RAST result. The
|
|
||||||
files sgmlsasp.man and rast.man contain Unix manual pages for sgmlsasp
|
|
||||||
and rast; sgmlsasp.txt and rast.txt are the formatted versions of
|
|
||||||
these.
|
|
||||||
|
|
||||||
The file LICENSE contains the license which applies to arcsgml and
|
|
||||||
accordingly to those parts of sgmls derived from arcsgml. See also
|
|
||||||
the copyright notice at the beginning of sgmlxtrn.c. The parts that
|
|
||||||
were written by me are in the public domain (any files that were
|
|
||||||
written entirely by me contain a comment to that effect.) The file
|
|
||||||
sgml-mode.el is covered by the GNU GPL.
|
|
||||||
|
|
||||||
Please report any bugs to me. When reporting bugs, please include the
|
|
||||||
version number, details of your machine, OS and compiler, and a
|
|
||||||
complete self-contained file that will allow me to reproduce the bug.
|
|
||||||
|
|
||||||
James Clark
|
|
||||||
jjc@jclark.com
|
|
|
@ -1,78 +0,0 @@
|
||||||
Warn about mixed content models where #PCDATA can't occur everywhere.
|
|
||||||
|
|
||||||
Perhaps there should be a configuration option saying what a control
|
|
||||||
character is for the purpose of SHUNCHAR CONTROLS.
|
|
||||||
|
|
||||||
Should the current character that is printed in error messages be
|
|
||||||
taken from be taken from the file entity or the current entity?
|
|
||||||
|
|
||||||
Refine SYS_ action. If we distinguish DELNONCH in lexmark, lexgrp,
|
|
||||||
lexsd, we can have separate action that ignores the following
|
|
||||||
character as well.
|
|
||||||
|
|
||||||
Should RSs in CDATA/SDATA entities be ignored as specified in 322:1-2?
|
|
||||||
Similarily, do the rules on REs in 322:3-11 apply to CDATA/SDATA
|
|
||||||
entities? (I don't think they count as being `in content'.)
|
|
||||||
|
|
||||||
What should the entity manager do when it encounters code 13 in an
|
|
||||||
input file? (Currently it treats it as an RE.)
|
|
||||||
|
|
||||||
Document when invalid exclusions are detected.
|
|
||||||
|
|
||||||
Option not to perform capacity checking.
|
|
||||||
|
|
||||||
Give a warning if the recommendation of 422:1-3 is contravened.
|
|
||||||
|
|
||||||
Should an empty CDATA/RCDATA marked section be allowed in the document
|
|
||||||
type declaration subset?
|
|
||||||
|
|
||||||
Include example of use of SGML_PATH in documentation.
|
|
||||||
|
|
||||||
Try to detect the situation in 310:8-10 (but see 282:1-2).
|
|
||||||
|
|
||||||
Resize hash tables if they become too full.
|
|
||||||
|
|
||||||
Say something in the man page about message catalogues.
|
|
||||||
|
|
||||||
Consider whether support for SHORTREF NONE requires further changes
|
|
||||||
(other than disallowing short reference mapping declaration).
|
|
||||||
|
|
||||||
Fake /dev/fd/N and /dev/stdin for systems that don't provide it.
|
|
||||||
|
|
||||||
Improve the effficiency of the entity manager by not closing and
|
|
||||||
reopening files. If we run out of FILEs choose the stream with the
|
|
||||||
fewest bytes remaining to be read, and read the rest of it into
|
|
||||||
memory. Each entity level will have its own read buffer.
|
|
||||||
|
|
||||||
Support multi-line error messages: automatically indent after
|
|
||||||
newline. (We could output to a temporary file first, then copy to
|
|
||||||
stderr replacing newlines by newline+indent).
|
|
||||||
|
|
||||||
Option that says to output out of context things.
|
|
||||||
|
|
||||||
Divide up formal public identifier errors. Give these errors their
|
|
||||||
own type code.
|
|
||||||
|
|
||||||
Consider whether, when OMITTAG is NO, we need to change interpretation
|
|
||||||
of an empty start-tag (7.4.1.1).
|
|
||||||
|
|
||||||
Possibly turn errors 70 and 136 into warnings.
|
|
||||||
|
|
||||||
Make things work with NORMSEP > 2. Would need to keep track of number
|
|
||||||
of CDATA and SDATA entities in CDATA attributes.
|
|
||||||
|
|
||||||
Handle `SCOPE INSTANCE'.
|
|
||||||
|
|
||||||
In entgen.c, truncate filenames for OSs that don't do this themselves.
|
|
||||||
|
|
||||||
Provide an option that specifies that maximum number of errors; when
|
|
||||||
this limit is exceeded sgmls would exit.
|
|
||||||
|
|
||||||
Document non-portable assumptions in the code.
|
|
||||||
|
|
||||||
Option to write out SGML declaration. In this case make it write out
|
|
||||||
APPINFO parameter.
|
|
||||||
|
|
||||||
Allow there to be catalogs mapping public ids to filenames.
|
|
||||||
Environment variable SGML_CATALOG containing list of filenames of
|
|
||||||
catalogs.
|
|
|
@ -1,202 +0,0 @@
|
||||||
/*
|
|
||||||
* CDE - Common Desktop Environment
|
|
||||||
*
|
|
||||||
* Copyright (c) 1993-2012, The Open Group. All rights reserved.
|
|
||||||
*
|
|
||||||
* These libraries and programs are free software; you can
|
|
||||||
* redistribute them and/or modify them under the terms of the GNU
|
|
||||||
* Lesser General Public License as published by the Free Software
|
|
||||||
* Foundation; either version 2 of the License, or (at your option)
|
|
||||||
* any later version.
|
|
||||||
*
|
|
||||||
* These libraries and programs are distributed in the hope that
|
|
||||||
* they will be useful, but WITHOUT ANY WARRANTY; without even the
|
|
||||||
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
|
||||||
* PURPOSE. See the GNU Lesser General Public License for more
|
|
||||||
* details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU Lesser General Public
|
|
||||||
* License along with these libraries and programs; if not, write
|
|
||||||
* to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
|
|
||||||
* Floor, Boston, MA 02110-1301 USA
|
|
||||||
*/
|
|
||||||
/* $XConsortium: action.h /main/3 1996/06/19 17:14:03 drk $ */
|
|
||||||
/* ACTION.H: Symbols for all PCB action codes. */
|
|
||||||
/* CONACT.H: Symbols for content parse action names (end with '_').
|
|
||||||
There must be no conflict with PARSEACT.H, which
|
|
||||||
uses 0 through 19, or SGMLACT.H, which uses 20 through 32
|
|
||||||
(except that 31 - 32 can be defined here because they are
|
|
||||||
used only by PARSEPRO and do not conflict with SGML.C).
|
|
||||||
*/
|
|
||||||
#define CIR_ 31 /* Invalid character(s) ignored in MDS; restarting parse. */
|
|
||||||
#define DTD_ 32 /* Process DOCTYPE declaration. */
|
|
||||||
#define DTE_ 33 /* End of DOCTYPE declaration. */
|
|
||||||
#define PEP_ 34 /* TEMP: Previous character ended prolog. */
|
|
||||||
#define DAS_ 35 /* Current character begins data. */
|
|
||||||
#define FCE_ 36 /* Process free character (SR12-18, 21-30). */
|
|
||||||
#define DCE_ 37 /* Data character in element text; change PCB. */
|
|
||||||
#define LAS_ 38 /* Start lookahead buffer with current character. */
|
|
||||||
#define LAM_ 39 /* Move character to lookahead buffer. */
|
|
||||||
#define LAF_ 40 /* Flush the lookahead buffer; REPEATCC. */
|
|
||||||
#define NED_ 41 /* Process null end-tag delimiter. */
|
|
||||||
#define NET_ 42 /* Process null end-tag. */
|
|
||||||
#define NST_ 43 /* Process null start-tag. */
|
|
||||||
#define NLF_ 44 /* Flush lookahead buffer except for trailing NET or SR. */
|
|
||||||
#define ETC_ 45 /* End-tag in CDATA or RCDATA; treat as data if invalid. */
|
|
||||||
#define SRMIN 46 /* Dummy for SHORT REFERENCES: srn = SRn - SRMIN. */
|
|
||||||
#define SR1_ 47 /* TAB */
|
|
||||||
#define SR2_ 48 /* RE */
|
|
||||||
#define SR3_ 49 /* RS */
|
|
||||||
#define SR4_ 50 /* Leading blanks */
|
|
||||||
#define SR5_ 51 /* Null record */
|
|
||||||
#define DAR_ 52 /* Flush data buffer after repeating current character. */
|
|
||||||
#define SR7_ 53 /* Trailing blanks */
|
|
||||||
#define SR8_ 54 /* Space */
|
|
||||||
#define SR9_ 55 /* Two or more blanks */
|
|
||||||
#define SR10 56 /* Quotation mark (first data character) */
|
|
||||||
#define SR11 57 /* Number sign */
|
|
||||||
#define SR12 58 /* FCE CHARACTERS start here */
|
|
||||||
/* _ 59 */
|
|
||||||
#define BSQ_ 60 /* Blank sequence begun; find its end. */
|
|
||||||
/* 61 In use by PARSEACT.H */
|
|
||||||
/* 62 In use by PARSEACT.H */
|
|
||||||
/* 63 In use by PARSEACT.H */
|
|
||||||
/* 64 In use by PARSEACT.H */
|
|
||||||
#define SR19 65 /* Hyphen */
|
|
||||||
#define SR20 66 /* Two hyphens */
|
|
||||||
#define SR25 71 /* Left bracket */
|
|
||||||
#define SR26 72 /* Right bracket */
|
|
||||||
#define RBR_ 73 /* Two right brackets. */
|
|
||||||
#define GTR_ 74 /* EOB with pending data character */
|
|
||||||
#define MSP_ 75 /* Marked section start in prolog outside DTD */
|
|
||||||
#define APP_ 76 /* APPINFO (other than NONE) */
|
|
||||||
#define STE_ 77 /* Start tag ended prolog */
|
|
||||||
|
|
||||||
/* GRPACT.H: Symbols for group tokenization action names (all alpha).
|
|
||||||
There must be no conflict with PARSEACT.H, which
|
|
||||||
uses 0 - 19.
|
|
||||||
*/
|
|
||||||
#define AND 20 /* AND connector found. */
|
|
||||||
#define DTAG 21 /* Data tag token group occurred (treat as #CHARS). */
|
|
||||||
#define GRPE 22 /* Group ended. */
|
|
||||||
#define GRP_ 23 /* Group started. */
|
|
||||||
#define NAS_ 24 /* Name started in content model or name group. */
|
|
||||||
#define NMT_ 25 /* Name or name token started in name token group. */
|
|
||||||
#define OPT 26 /* OPT occurrence indicator for previous token. */
|
|
||||||
#define OR 27 /* OR connector found. */
|
|
||||||
#define OREP 28 /* OREP occurrence indicator for previous token. */
|
|
||||||
#define REP 29 /* REP occurrence indicator for previous token. */
|
|
||||||
#define RNS_ 30 /* Reserved name started (#PCDATA). */
|
|
||||||
#define SEQ 31 /* SEQ connector found. */
|
|
||||||
/* LITACT.H: Symbols for content parse action names (end with '_').
|
|
||||||
There must be no conflict with PARSEACT.H, which
|
|
||||||
uses 0 through 19.
|
|
||||||
*/
|
|
||||||
#define MLA_ 20 /* Move character to look-aside data buffer. */
|
|
||||||
#define LPR_ 21 /* Move previous character to data buffer. */
|
|
||||||
#define RSM_ 22 /* Process record start and move it to data buffer. */
|
|
||||||
#define FUN_ 23 /* Replace function character with a space. */
|
|
||||||
#define LP2_ 24 /* Move previous two characters to data buffer. */
|
|
||||||
#define MLE_ 25 /* Minimum literal error: invalid character ignored. */
|
|
||||||
#define RPR_ 26 /* Remove previous character from data buffer; terminate. */
|
|
||||||
#define TER_ 27 /* Terminate the parse. */
|
|
||||||
/* MDACT.H: Symbols for markup declaration parse action names (all alpha).
|
|
||||||
There must be no conflict with PARSEACT.H, which
|
|
||||||
uses 0 - 19.
|
|
||||||
*/
|
|
||||||
#define CDR 20 /* CD[1] (MINUS) occurred previously. */
|
|
||||||
#define EMD 21 /* End of markup declaration. */
|
|
||||||
#define GRPS 22 /* Group started. */
|
|
||||||
#define LIT 23 /* Literal started: character data. */
|
|
||||||
#define LITE 24 /* Literal started: character data; LITA is delimiter. */
|
|
||||||
#define MGRP 25 /* Minus exception group (MINUS,GRPO). */
|
|
||||||
#define NAS 26 /* Name started. */
|
|
||||||
#define NMT 27 /* Name token started. */
|
|
||||||
#define NUM 28 /* Number or number token started. */
|
|
||||||
#define PEN 29 /* Parameter entity name being defined (PERO found). */
|
|
||||||
#define PGRP 30 /* Plus exception group (PLUS,GRPO). */
|
|
||||||
#define RNS 31 /* Reserved name started. */
|
|
||||||
#define MDS 32 /* Markup declaration subset start. */
|
|
||||||
#define PENR 33 /* REPEATCC; PERO found. */
|
|
||||||
/* PARSEACT.H: Symbols for common parse action names (end with '_').
|
|
||||||
There must be no conflict with other action name
|
|
||||||
files, which use numbers greater than 19.
|
|
||||||
*/
|
|
||||||
#define CRA_ 1 /* Character reference: alphabetic. */
|
|
||||||
#define CRN_ 2 /* Character reference: numeric; non-char refs o.k.. */
|
|
||||||
#define NON_ 3 /* Single byte of non-character data found. */
|
|
||||||
#define EOF_ 4 /* Error: illegal entity end; resume old input; return. */
|
|
||||||
#define ER_ 5 /* Entity reference; start new input source; continue. */
|
|
||||||
#define GET_ 6 /* EOB, EOS, or EE: resume old input source; continue. */
|
|
||||||
#define INV_ 7 /* Error: invalid char terminated markup; repeat char. */
|
|
||||||
#define LEN_ 8 /* Error: length limit exceeded; end markup; repeat char. */
|
|
||||||
#define NOP_ 9 /* No action necessary. */
|
|
||||||
#define PCI_ 10 /* Previous character was invalid. */
|
|
||||||
#define PER_ 11 /* Parameter reference; start new input source; continue. */
|
|
||||||
#define RC2_ 12 /* Back up two characters. */
|
|
||||||
#define RCC_ 13 /* Repeat current character. */
|
|
||||||
#define RCR_ 14 /* Repeat current character and return to caller. */
|
|
||||||
#define EE_ 15 /* EOS or EE: resume old input source; return to caller. */
|
|
||||||
#define RS_ 16 /* Record start: ccnt=0; ++rcnt. */
|
|
||||||
#define ERX_ 17 /* Entity reference; start new input source; return. */
|
|
||||||
#define SYS_ 18 /* Error allowed: SYSCHAR in input stream; replace it. */
|
|
||||||
#define EOD_ 19 /* End of document. */
|
|
||||||
/* Number way out of order to avoid recompilation. */
|
|
||||||
#define NSC_ 58 /* Handle DELNONCH/DELXNONCH when NON_ is allowed */
|
|
||||||
#define PEX_ 61 /* Parameter entity ref; start new input source; return. */
|
|
||||||
#define DEF_ 62 /* Data entity found. */
|
|
||||||
#define PIE_ 63 /* PI entity found (needed in markup). */
|
|
||||||
#define LNR_ 64 /* LEN_ error with extra REPEATCC. */
|
|
||||||
/* SGMLACT.H: Symbols for content parse action names (end with '_')
|
|
||||||
that are returned to SGML.C for processing.
|
|
||||||
There must be no conflict with PARSEACT.H, which
|
|
||||||
uses 0 through 19, or CONACT.H, which uses 34 and above.
|
|
||||||
(Note: 31 is also used in CONACT.H, but no conflict
|
|
||||||
is created because they are tested only in PARSEPRO.C, which
|
|
||||||
completes before SGML.C starts to examine those codes.
|
|
||||||
Also, when EOD_ is returned from PARSECON, it is changed
|
|
||||||
to LOP_.)
|
|
||||||
*/
|
|
||||||
#define CON_ 20 /* Normal content action (one of the following). */
|
|
||||||
#define DAF_ 21 /* Data found. */
|
|
||||||
#define ETG_ 22 /* Process end-tag. */
|
|
||||||
#define MD_ 23 /* Process markup declaration (NAMESTRT found). */
|
|
||||||
#define MDC_ 24 /* Process markup declaration comment (CD found). */
|
|
||||||
#define MSS_ 25 /* Process marked section start. */
|
|
||||||
#define MSE_ 26 /* Process marked section end. */
|
|
||||||
#define PIS_ 27 /* Processing instruction (string). */
|
|
||||||
#define REF_ 28 /* Record end found. */
|
|
||||||
#define STG_ 29 /* Process start-tag. */
|
|
||||||
#define RSR_ 30 /* Return RS to effect SGML state transition. */
|
|
||||||
#define LOP_ 31 /* Loop for new content without returning anything. */
|
|
||||||
/* TAGACT.H: Symbols for tag parse action names (all alpha).
|
|
||||||
There must be no conflict with PARSEACT.H, which
|
|
||||||
uses 0 - 19.
|
|
||||||
*/
|
|
||||||
#define AVD 20 /* Delimited attribute value started: normal delimiter. */
|
|
||||||
#define AVU 21 /* Undelimited value started. */
|
|
||||||
#define ETIC 22 /* Tag closed with ETI. */
|
|
||||||
#define NVS 23 /* Name of attribute or value started. */
|
|
||||||
#define NASV 24 /* Saved NAS was actually an NTV. */
|
|
||||||
#define NTV 25 /* Name token value started; get name and full value. */
|
|
||||||
#define TAGC 26 /* Tag closed normally. */
|
|
||||||
#define TAGO 27 /* Tag closed implicitly by TAGO character. */
|
|
||||||
#define AVDA 28 /* Delimited attribute value started: alternative delim. */
|
|
||||||
#define DSC 29 /* Closed by DSC character. */
|
|
||||||
/* VALACT.H: Symbols for attribute value tokenization action names (all alpha).
|
|
||||||
*/
|
|
||||||
#define NOPA 0 /* No action necessary. */
|
|
||||||
#define INVA 1 /* Invalid character; terminate parse. */
|
|
||||||
#define LENA 2 /* Length limit of token exceeded; terminate parse. */
|
|
||||||
#define NASA 3 /* Name started. */
|
|
||||||
#define NMTA 4 /* Name token started. */
|
|
||||||
#define NUMA 5 /* Number or number token started. */
|
|
||||||
|
|
||||||
/* SGML declaration parsing actions. */
|
|
||||||
|
|
||||||
#define ESGD 20 /* End of SGML declaration. */
|
|
||||||
#define LIT1 21 /* Literal started. */
|
|
||||||
#define LIT2 22 /* Literal started with LITA delimiter. */
|
|
||||||
#define NUM1 23 /* Number started. */
|
|
||||||
#define NAS1 24 /* Name started. */
|
|
||||||
#define ISIG 25 /* Insignificant character occurred. */
|
|
|
@ -1,141 +0,0 @@
|
||||||
/*
|
|
||||||
* CDE - Common Desktop Environment
|
|
||||||
*
|
|
||||||
* Copyright (c) 1993-2012, The Open Group. All rights reserved.
|
|
||||||
*
|
|
||||||
* These libraries and programs are free software; you can
|
|
||||||
* redistribute them and/or modify them under the terms of the GNU
|
|
||||||
* Lesser General Public License as published by the Free Software
|
|
||||||
* Foundation; either version 2 of the License, or (at your option)
|
|
||||||
* any later version.
|
|
||||||
*
|
|
||||||
* These libraries and programs are distributed in the hope that
|
|
||||||
* they will be useful, but WITHOUT ANY WARRANTY; without even the
|
|
||||||
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
|
||||||
* PURPOSE. See the GNU Lesser General Public License for more
|
|
||||||
* details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU Lesser General Public
|
|
||||||
* License along with these libraries and programs; if not, write
|
|
||||||
* to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
|
|
||||||
* Floor, Boston, MA 02110-1301 USA
|
|
||||||
*/
|
|
||||||
/* $XConsortium: adl.h /main/3 1996/06/19 17:14:09 drk $ */
|
|
||||||
/* ADL.H: Definitions for attribute descriptor list processing.
|
|
||||||
*/
|
|
||||||
/* N/C/SDATA external entity types for nxetype member of ne structure. */
|
|
||||||
#define ESNCDATA 1 /* External character data entity. */
|
|
||||||
#define ESNNDATA 2 /* Non-SGML data entity. */
|
|
||||||
#define ESNSDATA 3 /* External specific character data entity. */
|
|
||||||
#define ESNSUB 4 /* SGML subdocument entity. */
|
|
||||||
|
|
||||||
/* N/C/SDATA control block for AENTITY attributes and NDATA returns.*/
|
|
||||||
struct ne { /* N/C/SDATA entity control block. */
|
|
||||||
UNIV neid; /* Files for NDATA entity. */
|
|
||||||
UNCH *nepubid; /* Public identifier if specified. */
|
|
||||||
UNCH *nesysid; /* System identifier if specified. */
|
|
||||||
PDCB nedcn; /* Data content notation control block. */
|
|
||||||
struct ad *neal; /* Data attribute list (NULL if none). */
|
|
||||||
UNCH *neename; /* Ptr to entity name (length and EOS). */
|
|
||||||
UNCH nextype; /* Entity type: NDATA SDATA CDATA SUBDOC. */
|
|
||||||
};
|
|
||||||
#define NESZ (sizeof(struct ne))
|
|
||||||
typedef struct ne *PNE;
|
|
||||||
/* NDATA entity control block fields. */
|
|
||||||
#define NEID(p) (((PNE)p)->neid) /* File ID of NDATA entity. */
|
|
||||||
#define NESYSID(p) (((PNE)p)->nesysid) /* System ID of NDATA entity. */
|
|
||||||
#define NEPUBID(p) (((PNE)p)->nepubid) /* Public ID of NDATA entity. */
|
|
||||||
#define NEDCN(p) (((PNE)p)->nedcn->ename) /* Data content notation name. */
|
|
||||||
#define NEDCNSYSID(p) (((PNE)p)->nedcn->sysid) /* Notation system ID.*/
|
|
||||||
#define NEDCNPUBID(p) (((PNE)p)->nedcn->pubid) /* Notation public ID.*/
|
|
||||||
#define NEDCNDEFINED(p) (((PNE)p)->nedcn->defined) /* Notation defined? */
|
|
||||||
#define NEDCNADL(p) (((PNE)p)->nedcn->adl) /* Data content notation attlist.*/
|
|
||||||
#define NEENAME(p) (((PNE)p)->neename) /* Entity name pointer. */
|
|
||||||
#define NEXTYPE(p) (((PNE)p)->nextype) /* External entity type. */
|
|
||||||
#define NEAL(p) (((PNE)p)->neal) /* Data attributes (if any). */
|
|
||||||
#define NEDCNMARK(p) DCNMARK(((PNE)p)->nedcn)
|
|
||||||
|
|
||||||
/* Attribute descriptor list entry. */
|
|
||||||
struct ad {
|
|
||||||
UNCH *adname; /* Attribute name with length and EOS. */
|
|
||||||
UNCH adflags; /* Attribute flags. */
|
|
||||||
UNCH adtype; /* Value type. */
|
|
||||||
UNS adnum; /* Group size or member pos in grp. */
|
|
||||||
UNS adlen; /* Length of default or value (for capacity). */
|
|
||||||
UNCH *addef; /* Default value (NULL if REQUIRED or IMPLIED). */
|
|
||||||
union {
|
|
||||||
PNE n; /* AENTITY: NDATA control block. */
|
|
||||||
PDCB x; /* ANOTEGRP: DCN control block. */
|
|
||||||
} addata; /* Special data associated with some attributes.*/
|
|
||||||
};
|
|
||||||
#define ADSZ (sizeof(struct ad)) /* Size of an ad structure. */
|
|
||||||
|
|
||||||
/* Attribute flags for entire list adflags: ADLF. */
|
|
||||||
#define ADLREQ 0x80 /* Attribute list: 1=REQUIRED att defined. */
|
|
||||||
#define ADLNOTE 0x40 /* Attribute list: 1=NOTATION att defined. */
|
|
||||||
#define ADLCONR 0x20 /* Attribute list: 1=CONREF att defined. */
|
|
||||||
|
|
||||||
/* Attribute flags for list member adflags: ADFLAGS(n). */
|
|
||||||
#define AREQ 0x80 /* Attribute: 0=null; 1=required. */
|
|
||||||
#define ACURRENT 0x40 /* Attribute: 0=normal; 1=current. */
|
|
||||||
#define AFIXED 0x20 /* Attribute: 0=normal; 1=must equal default. */
|
|
||||||
#define AGROUP 0x10 /* Attribute: 0=single; 1=group of ad's. */
|
|
||||||
#define ACONREF 0x08 /* Attribute: 0=normal; 1=att is CONREF. */
|
|
||||||
#define AINVALID 0x04 /* Attribute: 1=value is invalid; 0=o.k. */
|
|
||||||
#define AERROR 0x02 /* Attribute: 1=error was specified; 0=o.k. */
|
|
||||||
#define ASPEC 0x01 /* Attribute: 1=value was specified; 0=default. */
|
|
||||||
|
|
||||||
/* Attribute types for adtype. */
|
|
||||||
#define ANMTGRP 0x00 /* Attribute: Name token group or member. */
|
|
||||||
#define ANOTEGRP 0x01 /* Attribute: Notation (name group). */
|
|
||||||
#define ACHARS 0x02 /* Attribute: Character string. */
|
|
||||||
#define AENTITY 0x03 /* Attribute: Data entity (name). */
|
|
||||||
#define AID 0x04 /* Attribute: ID value (name). */
|
|
||||||
#define AIDREF 0x05 /* Attribute: ID reference value (name). */
|
|
||||||
#define ANAME 0x06 /* Attribute: Name. */
|
|
||||||
#define ANMTOKE 0x07 /* Attribute: Name token. */
|
|
||||||
#define ANUMBER 0x08 /* Attribute: Number. */
|
|
||||||
#define ANUTOKE 0x09 /* Attribute: Number token. */
|
|
||||||
#define ATKNLIST 0x0A /* Attribute: >= means value is a token list. */
|
|
||||||
#define AENTITYS 0x0A /* Attribute: Data entities (name list). */
|
|
||||||
#define AIDREFS 0x0B /* Attribute: ID reference value (name list). */
|
|
||||||
#define ANAMES 0x0C /* Attribute: Name list. */
|
|
||||||
#define ANMTOKES 0x0D /* Attribute: Name token list. */
|
|
||||||
#define ANUMBERS 0x0E /* Attribute: Number list. */
|
|
||||||
#define ANUTOKES 0x0F /* Attribute: Number token list. */
|
|
||||||
|
|
||||||
/* Field definitions for entries in an attribute list.
|
|
||||||
The first argument to all of these is the list address.
|
|
||||||
*/
|
|
||||||
/* Attribute list: flags. */
|
|
||||||
#define ADLF(a) ((a)[0].adflags)
|
|
||||||
/* Attribute list: number of list members. */
|
|
||||||
#define ADN(a) ((a)[0].adtype)
|
|
||||||
/* Attribute list: number of attributes. */
|
|
||||||
#define AN(a) ((a)[0].adnum)
|
|
||||||
/* Nth attribute in list: name. */
|
|
||||||
#define ADNAME(a, n) (((a)[n].adname+1))
|
|
||||||
/* Nth att in list: number of val)ues. */
|
|
||||||
#define ADNUM(a, n) ((a)[n].adnum)
|
|
||||||
/* Nth attribute in list: flags. */
|
|
||||||
#define ADFLAGS(a, n) ((a)[n].adflags)
|
|
||||||
/* Nth attribute in list: type. */
|
|
||||||
#define ADTYPE(a, n) ((a)[n].adtype)
|
|
||||||
/* Nth attribute in list: len of def or val.*/
|
|
||||||
#define ADLEN(a, n) ((a)[n].adlen)
|
|
||||||
/* Nth attribute in list: def or value. */
|
|
||||||
#define ADVAL(a, n) ((a)[n].addef)
|
|
||||||
/* Nth attribute in list: special data. */
|
|
||||||
#define ADDATA(a, n) ((a)[n].addata)
|
|
||||||
/* Nth att: token at Pth pos in value. */
|
|
||||||
#define ADTOKEN(a, n, p)(((a)[n].addef+(p)))
|
|
||||||
|
|
||||||
#define IDHASH 101 /* Size of ID hash table. Must be prime. */
|
|
||||||
struct id { /* ID attribute control block. */
|
|
||||||
struct id *idnext; /* Next ID in chain. */
|
|
||||||
UNCH *idname; /* ID name with length prefix and EOS. */
|
|
||||||
UNCH iddefed; /* Non-zero if it has been defined. */
|
|
||||||
struct fwdref *idrl; /* Chain of forward references to this ID. */
|
|
||||||
};
|
|
||||||
#define IDSZ sizeof(struct id)
|
|
||||||
typedef struct id *PID; /* Ptr to ID attribute control block. */
|
|
|
@ -1,461 +0,0 @@
|
||||||
/*
|
|
||||||
* CDE - Common Desktop Environment
|
|
||||||
*
|
|
||||||
* Copyright (c) 1993-2012, The Open Group. All rights reserved.
|
|
||||||
*
|
|
||||||
* These libraries and programs are free software; you can
|
|
||||||
* redistribute them and/or modify them under the terms of the GNU
|
|
||||||
* Lesser General Public License as published by the Free Software
|
|
||||||
* Foundation; either version 2 of the License, or (at your option)
|
|
||||||
* any later version.
|
|
||||||
*
|
|
||||||
* These libraries and programs are distributed in the hope that
|
|
||||||
* they will be useful, but WITHOUT ANY WARRANTY; without even the
|
|
||||||
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
|
||||||
* PURPOSE. See the GNU Lesser General Public License for more
|
|
||||||
* details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU Lesser General Public
|
|
||||||
* License along with these libraries and programs; if not, write
|
|
||||||
* to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
|
|
||||||
* Floor, Boston, MA 02110-1301 USA
|
|
||||||
*/
|
|
||||||
/* $XConsortium: ambig.c /main/3 1996/06/19 17:14:13 drk $ */
|
|
||||||
/* ambig.c -
|
|
||||||
Content model ambiguity checking.
|
|
||||||
|
|
||||||
Written by James Clark (jjc@jclark.com).
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
This uses the construction in pp8-9 of [1], extended to deal with AND
|
|
||||||
groups.
|
|
||||||
|
|
||||||
Note that it is not correct for the purposes of ambiguity analysis to
|
|
||||||
handle AND groups by turning them into an OR group of SEQ groups
|
|
||||||
(consider (a&b?)).
|
|
||||||
|
|
||||||
We build an automaton for the entire content model by adding the
|
|
||||||
following case for AND:
|
|
||||||
|
|
||||||
nullable(v) := nullable(left child) and nullable(right child)
|
|
||||||
if nullable(right child) then
|
|
||||||
for each x in last(left child) do
|
|
||||||
follow(v,x) = follow(left child,x) U first(right child);
|
|
||||||
if nullable(left child) then
|
|
||||||
for each x in last(right child) do
|
|
||||||
follow(v,x) = follow(right child,x) U first(left child);
|
|
||||||
first(v) := first(left child) U first(right child);
|
|
||||||
last(v) := first(left child) U first(right child);
|
|
||||||
|
|
||||||
We also build an automaton for each AND group by building automata for
|
|
||||||
each of the members of the AND group using the above procedure and
|
|
||||||
then combine the members using:
|
|
||||||
|
|
||||||
for each x in last(left child) do
|
|
||||||
follow(v,x) = follow(left child,x) U first(right child);
|
|
||||||
for each x in last(right child) do
|
|
||||||
follow(v,x) = follow(right child,x) U first(left child);
|
|
||||||
first(v) := first(left child) U first(right child);
|
|
||||||
|
|
||||||
The content model is ambiguous just in case one of these automata is
|
|
||||||
non-deterministic. (Note that when checking determinism we need to
|
|
||||||
check the `first' set as well as all the `follow' sets.)
|
|
||||||
|
|
||||||
Why is this correct? Consider a primitive token in a member of an AND
|
|
||||||
group. There are two worst cases for ambiguity: firstly, when none of
|
|
||||||
the other members of AND group have been matched; secondly, when just
|
|
||||||
the nullable members remain to be matched. The first case is not
|
|
||||||
affected by context of the AND group (unless the first case is
|
|
||||||
identical to the second case.)
|
|
||||||
|
|
||||||
Note that inclusions are not relevant for the purposes of determining
|
|
||||||
the ambiguity of content models. Otherwise the case in clause
|
|
||||||
11.2.5.1:
|
|
||||||
|
|
||||||
An element that can satisfy an element in the content model is
|
|
||||||
considered to do so, even if the element is also an inclusion.
|
|
||||||
|
|
||||||
could never arise.
|
|
||||||
|
|
||||||
[1] Anne Brueggemann-Klein, Regular Expressions into Finite Automata,
|
|
||||||
Universitaet Freiburg, Institut fur Informatik, 33 July 1991.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "sgmlincl.h"
|
|
||||||
|
|
||||||
/* Sets of states are represented by 0-terminated, ordered lists of
|
|
||||||
indexes in gbuf. */
|
|
||||||
|
|
||||||
#define MAXSTATES (GRPGTCNT+2)
|
|
||||||
#define listcat(x, y) strcat((char *)(x), (char *)(y))
|
|
||||||
#define listcpy(x, y) strcpy((char *)(x), (char *)(y))
|
|
||||||
|
|
||||||
/* Information about a content token. */
|
|
||||||
|
|
||||||
struct contoken {
|
|
||||||
UNCH size;
|
|
||||||
UNCH nullable;
|
|
||||||
UNCH *first;
|
|
||||||
UNCH *last;
|
|
||||||
};
|
|
||||||
|
|
||||||
static VOID contoken P((int, int, struct contoken *));
|
|
||||||
static VOID andgroup P((int, int, struct contoken *));
|
|
||||||
static VOID orgroup P((int, int, struct contoken *));
|
|
||||||
static VOID seqgroup P((int, int, struct contoken *));
|
|
||||||
static VOID andambig P((int));
|
|
||||||
static int listambig P((UNCH *));
|
|
||||||
static VOID listmerge P((UNCH *, UNCH *));
|
|
||||||
static struct contoken *newcontoken P((void));
|
|
||||||
static VOID freecontoken P((struct contoken *));
|
|
||||||
|
|
||||||
|
|
||||||
/* Dynamically allocated vector of follow sets. */
|
|
||||||
|
|
||||||
static UNCH **follow;
|
|
||||||
static UNCH *mergebuf; /* for use by listmerge */
|
|
||||||
|
|
||||||
/* Set to non-zero if the content model is ambiguous. */
|
|
||||||
|
|
||||||
static int ambigsw;
|
|
||||||
|
|
||||||
/* Check the current content model (in gbuf) for ambiguity. */
|
|
||||||
|
|
||||||
VOID ambig()
|
|
||||||
{
|
|
||||||
struct contoken *s;
|
|
||||||
int i;
|
|
||||||
|
|
||||||
if (!follow) {
|
|
||||||
/* We can't allocate everything in one chunk, because that would
|
|
||||||
overflow a 16-bit unsigned if GRPGTCNT was 253. */
|
|
||||||
UNCH *ptr;
|
|
||||||
follow = (UNCH **)rmalloc(MAXSTATES*sizeof(UNCH *));
|
|
||||||
follow[0] = 0;
|
|
||||||
ptr = (UNCH *)rmalloc((MAXSTATES - 1)*MAXSTATES);
|
|
||||||
for (i = 1; i < MAXSTATES; i++) {
|
|
||||||
follow[i] = ptr;
|
|
||||||
ptr += MAXSTATES;
|
|
||||||
}
|
|
||||||
mergebuf = (UNCH *)rmalloc(MAXSTATES);
|
|
||||||
}
|
|
||||||
|
|
||||||
for (i = 1; i < MAXSTATES; i++)
|
|
||||||
follow[i][0] = 0;
|
|
||||||
|
|
||||||
ambigsw = 0;
|
|
||||||
|
|
||||||
s = newcontoken();
|
|
||||||
contoken(1, 1, s);
|
|
||||||
|
|
||||||
ambigsw = ambigsw || listambig(s->first);
|
|
||||||
|
|
||||||
freecontoken(s);
|
|
||||||
|
|
||||||
for (i = 1; !ambigsw && i < MAXSTATES; i++)
|
|
||||||
if (listambig(follow[i]))
|
|
||||||
ambigsw = 1;
|
|
||||||
|
|
||||||
if (ambigsw)
|
|
||||||
mderr(137, (UNCH *)0, (UNCH *)0);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Free memory used for ambiguity checking. */
|
|
||||||
|
|
||||||
VOID ambigfree()
|
|
||||||
{
|
|
||||||
if (follow) {
|
|
||||||
frem((UNIV)follow[1]);
|
|
||||||
frem((UNIV)follow);
|
|
||||||
frem((UNIV)mergebuf);
|
|
||||||
follow = 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Determine whether a list of primitive content tokens (each
|
|
||||||
represented by its index in gbuf) is ambiguous. */
|
|
||||||
|
|
||||||
static
|
|
||||||
int listambig(list)
|
|
||||||
UNCH *list;
|
|
||||||
{
|
|
||||||
UNCH *p;
|
|
||||||
int chars = 0;
|
|
||||||
int rc = 0;
|
|
||||||
|
|
||||||
for (p = list; *p; p++) {
|
|
||||||
if ((gbuf[*p].ttype & TTMASK) == TTETD) {
|
|
||||||
struct etd *e = gbuf[*p].tu.thetd;
|
|
||||||
if (e->mark) {
|
|
||||||
rc = 1;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
e->mark = 1;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
assert((gbuf[*p].ttype & TTMASK) == TTCHARS);
|
|
||||||
if (chars) {
|
|
||||||
rc = 1;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
chars = 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
for (p = list; *p; p++)
|
|
||||||
if ((gbuf[*p].ttype & TTMASK) == TTETD)
|
|
||||||
gbuf[*p].tu.thetd->mark = 0;
|
|
||||||
|
|
||||||
return rc;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* Analyze a content token. The `checkand' argument is needed to ensure
|
|
||||||
that the algorithm is not exponential in the AND-group nesting depth.
|
|
||||||
*/
|
|
||||||
|
|
||||||
static
|
|
||||||
VOID contoken(m, checkand, res)
|
|
||||||
int m; /* Index of content token in gbuf */
|
|
||||||
int checkand; /* Non-zero if AND groups should be checked */
|
|
||||||
struct contoken *res; /* Result */
|
|
||||||
{
|
|
||||||
UNCH flags = gbuf[m].ttype;
|
|
||||||
switch (flags & TTMASK) {
|
|
||||||
case TTCHARS:
|
|
||||||
case TTETD:
|
|
||||||
res->first[0] = m;
|
|
||||||
res->first[1] = 0;
|
|
||||||
res->last[0] = m;
|
|
||||||
res->last[1] = 0;
|
|
||||||
res->size = 1;
|
|
||||||
res->nullable = 0;
|
|
||||||
break;
|
|
||||||
case TTAND:
|
|
||||||
if (checkand)
|
|
||||||
andambig(m);
|
|
||||||
andgroup(m, checkand, res);
|
|
||||||
break;
|
|
||||||
case TTOR:
|
|
||||||
orgroup(m, checkand, res);
|
|
||||||
break;
|
|
||||||
case TTSEQ:
|
|
||||||
seqgroup(m, checkand, res);
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
abort();
|
|
||||||
}
|
|
||||||
if (flags & TREP) {
|
|
||||||
UNCH *p;
|
|
||||||
for (p = res->last; *p; p++)
|
|
||||||
listmerge(follow[*p], res->first);
|
|
||||||
}
|
|
||||||
if (flags & TOPT)
|
|
||||||
res->nullable = 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Check an AND group for ambiguity. */
|
|
||||||
|
|
||||||
static
|
|
||||||
VOID andambig(m)
|
|
||||||
int m;
|
|
||||||
{
|
|
||||||
int i, tnum;
|
|
||||||
int lim;
|
|
||||||
struct contoken *curr;
|
|
||||||
struct contoken *next;
|
|
||||||
|
|
||||||
tnum = gbuf[m].tu.tnum;
|
|
||||||
assert(tnum > 0);
|
|
||||||
curr = newcontoken();
|
|
||||||
next = newcontoken();
|
|
||||||
contoken(m + 1, 0, curr);
|
|
||||||
i = m + 1 + curr->size;
|
|
||||||
curr->size += 1;
|
|
||||||
for (--tnum; tnum > 0; --tnum) {
|
|
||||||
UNCH *p;
|
|
||||||
contoken(i, 0, next);
|
|
||||||
curr->size += next->size;
|
|
||||||
i += next->size;
|
|
||||||
for (p = curr->last; *p; p++)
|
|
||||||
listcat(follow[*p], next->first);
|
|
||||||
for (p = next->last; *p; p++)
|
|
||||||
listmerge(follow[*p], curr->first);
|
|
||||||
listcat(curr->first, next->first);
|
|
||||||
listcat(curr->last, next->last);
|
|
||||||
}
|
|
||||||
lim = m + curr->size;
|
|
||||||
for (i = m + 1; i < lim; i++) {
|
|
||||||
if (listambig(follow[i]))
|
|
||||||
ambigsw = 1;
|
|
||||||
follow[i][0] = 0;
|
|
||||||
}
|
|
||||||
freecontoken(curr);
|
|
||||||
freecontoken(next);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Handle an AND group. */
|
|
||||||
|
|
||||||
static
|
|
||||||
VOID andgroup(m, checkand, res)
|
|
||||||
int m;
|
|
||||||
int checkand;
|
|
||||||
struct contoken *res;
|
|
||||||
{
|
|
||||||
int i, tnum;
|
|
||||||
/* union of the first sets of nullable members of the group */
|
|
||||||
UNCH *nullablefirst;
|
|
||||||
struct contoken *next;
|
|
||||||
|
|
||||||
tnum = gbuf[m].tu.tnum;
|
|
||||||
assert(tnum > 0);
|
|
||||||
contoken(m + 1, checkand, res);
|
|
||||||
nullablefirst = (UNCH *)rmalloc(MAXSTATES);
|
|
||||||
if (res->nullable)
|
|
||||||
listcpy(nullablefirst, res->first);
|
|
||||||
else
|
|
||||||
nullablefirst[0] = 0;
|
|
||||||
i = m + 1 + res->size;
|
|
||||||
res->size += 1;
|
|
||||||
next = newcontoken();
|
|
||||||
for (--tnum; tnum > 0; --tnum) {
|
|
||||||
UNCH *p;
|
|
||||||
contoken(i, checkand, next);
|
|
||||||
res->size += next->size;
|
|
||||||
i += next->size;
|
|
||||||
if (next->nullable)
|
|
||||||
for (p = res->last; *p; p++)
|
|
||||||
listcat(follow[*p], next->first);
|
|
||||||
for (p = next->last; *p; p++)
|
|
||||||
listmerge(follow[*p], nullablefirst);
|
|
||||||
listcat(res->first, next->first);
|
|
||||||
if (next->nullable)
|
|
||||||
listcat(nullablefirst, next->first);
|
|
||||||
listcat(res->last, next->last);
|
|
||||||
res->nullable &= next->nullable;
|
|
||||||
}
|
|
||||||
frem((UNIV)nullablefirst);
|
|
||||||
freecontoken(next);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Handle a SEQ group. */
|
|
||||||
|
|
||||||
static
|
|
||||||
VOID seqgroup(m, checkand, res)
|
|
||||||
int m;
|
|
||||||
int checkand;
|
|
||||||
struct contoken *res;
|
|
||||||
{
|
|
||||||
int i, tnum;
|
|
||||||
struct contoken *next;
|
|
||||||
|
|
||||||
tnum = gbuf[m].tu.tnum;
|
|
||||||
assert(tnum > 0);
|
|
||||||
contoken(m + 1, checkand, res);
|
|
||||||
i = m + 1 + res->size;
|
|
||||||
res->size += 1;
|
|
||||||
next = newcontoken();
|
|
||||||
for (--tnum; tnum > 0; --tnum) {
|
|
||||||
UNCH *p;
|
|
||||||
contoken(i, checkand, next);
|
|
||||||
res->size += next->size;
|
|
||||||
i += next->size;
|
|
||||||
for (p = res->last; *p; p++)
|
|
||||||
listcat(follow[*p], next->first);
|
|
||||||
if (res->nullable)
|
|
||||||
listcat(res->first, next->first);
|
|
||||||
if (next->nullable)
|
|
||||||
listcat(res->last, next->last);
|
|
||||||
else
|
|
||||||
listcpy(res->last, next->last);
|
|
||||||
res->nullable &= next->nullable;
|
|
||||||
}
|
|
||||||
freecontoken(next);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Handle an OR group. */
|
|
||||||
|
|
||||||
static
|
|
||||||
VOID orgroup(m, checkand, res)
|
|
||||||
int m;
|
|
||||||
int checkand;
|
|
||||||
struct contoken *res;
|
|
||||||
{
|
|
||||||
int i, tnum;
|
|
||||||
struct contoken *next;
|
|
||||||
|
|
||||||
tnum = gbuf[m].tu.tnum;
|
|
||||||
assert(tnum > 0);
|
|
||||||
contoken(m + 1, checkand, res);
|
|
||||||
i = m + 1 + res->size;
|
|
||||||
res->size += 1;
|
|
||||||
next = newcontoken();
|
|
||||||
for (--tnum; tnum > 0; --tnum) {
|
|
||||||
contoken(i, checkand, next);
|
|
||||||
res->size += next->size;
|
|
||||||
i += next->size;
|
|
||||||
listcat(res->first, next->first);
|
|
||||||
listcat(res->last, next->last);
|
|
||||||
res->nullable |= next->nullable;
|
|
||||||
}
|
|
||||||
freecontoken(next);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* Merge the second ordered list into the first. */
|
|
||||||
|
|
||||||
static
|
|
||||||
VOID listmerge(p, b)
|
|
||||||
UNCH *p, *b;
|
|
||||||
{
|
|
||||||
UNCH *a = mergebuf;
|
|
||||||
|
|
||||||
strcpy((char *)a, (char *)p);
|
|
||||||
|
|
||||||
for (;;) {
|
|
||||||
if (*a) {
|
|
||||||
if (*b) {
|
|
||||||
if (*a < *b)
|
|
||||||
*p++ = *a++;
|
|
||||||
else if (*a > *b)
|
|
||||||
*p++ = *b++;
|
|
||||||
else
|
|
||||||
a++;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
*p++ = *a++;
|
|
||||||
}
|
|
||||||
else if (*b)
|
|
||||||
*p++ = *b++;
|
|
||||||
else
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
*p = '\0';
|
|
||||||
}
|
|
||||||
|
|
||||||
static
|
|
||||||
struct contoken *newcontoken()
|
|
||||||
{
|
|
||||||
struct contoken *p = (struct contoken *)rmalloc(sizeof(struct contoken)
|
|
||||||
+ MAXSTATES*2);
|
|
||||||
p->first = (UNCH *)(p + 1);
|
|
||||||
p->last = p->first + MAXSTATES;
|
|
||||||
return p;
|
|
||||||
}
|
|
||||||
|
|
||||||
static
|
|
||||||
VOID freecontoken(p)
|
|
||||||
struct contoken *p;
|
|
||||||
{
|
|
||||||
frem((UNIV)p);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
Local Variables:
|
|
||||||
c-indent-level: 5
|
|
||||||
c-continued-statement-offset: 5
|
|
||||||
c-brace-offset: -5
|
|
||||||
c-argdecl-indent: 0
|
|
||||||
c-label-offset: -5
|
|
||||||
End:
|
|
||||||
*/
|
|
|
@ -1,56 +0,0 @@
|
||||||
/*
|
|
||||||
* CDE - Common Desktop Environment
|
|
||||||
*
|
|
||||||
* Copyright (c) 1993-2012, The Open Group. All rights reserved.
|
|
||||||
*
|
|
||||||
* These libraries and programs are free software; you can
|
|
||||||
* redistribute them and/or modify them under the terms of the GNU
|
|
||||||
* Lesser General Public License as published by the Free Software
|
|
||||||
* Foundation; either version 2 of the License, or (at your option)
|
|
||||||
* any later version.
|
|
||||||
*
|
|
||||||
* These libraries and programs are distributed in the hope that
|
|
||||||
* they will be useful, but WITHOUT ANY WARRANTY; without even the
|
|
||||||
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
|
||||||
* PURPOSE. See the GNU Lesser General Public License for more
|
|
||||||
* details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU Lesser General Public
|
|
||||||
* License along with these libraries and programs; if not, write
|
|
||||||
* to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
|
|
||||||
* Floor, Boston, MA 02110-1301 USA
|
|
||||||
*/
|
|
||||||
/* $XConsortium: appl.h /main/3 1996/06/19 17:14:17 drk $ */
|
|
||||||
/* appl.h */
|
|
||||||
|
|
||||||
enum {
|
|
||||||
E_NOMEM = 1,
|
|
||||||
E_DOC,
|
|
||||||
E_EXEC,
|
|
||||||
E_FORK,
|
|
||||||
E_WAIT,
|
|
||||||
E_SIGNAL,
|
|
||||||
E_OPEN,
|
|
||||||
E_CAPBOTCH,
|
|
||||||
E_SUBDOC
|
|
||||||
};
|
|
||||||
|
|
||||||
VOID process_document P((int));
|
|
||||||
VOID output_conforming P((void));
|
|
||||||
|
|
||||||
UNIV xmalloc P((UNS));
|
|
||||||
UNIV xrealloc P((UNIV, UNS));
|
|
||||||
VOID appl_error VP((int, ...));
|
|
||||||
|
|
||||||
#ifdef SUPPORT_SUBDOC
|
|
||||||
int run_process P((char **));
|
|
||||||
char **make_argv P((UNIV));
|
|
||||||
VOID get_subcaps P((void));
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef SUPPORT_SUBDOC
|
|
||||||
extern int suberr;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
extern int suppsw;
|
|
||||||
extern int locsw;
|
|
|
@ -1,146 +0,0 @@
|
||||||
/* cms.cfg: Configuration file for sgmls on VM/CMS. */
|
|
||||||
/* Contributed by C. M. Sperberg-McQueen <u35395@uicvm.uic.edu>. */
|
|
||||||
|
|
||||||
/* A list of filename templates to use for searching for external
|
|
||||||
entities.
|
|
||||||
The filenames are separated by the character specified in PATH_FILE_SEP.
|
|
||||||
See sgmls.man for details. */
|
|
||||||
#define DEFAULT_PATH "%N.%X:%N.%C"
|
|
||||||
/* The character that separates the filenames templates. */
|
|
||||||
#define PATH_FILE_SEP ';'
|
|
||||||
/* The character that separates filenames in a system identifier.
|
|
||||||
Usually the same as PATH_FILE_SEP. */
|
|
||||||
#define SYSID_FILE_SEP ';'
|
|
||||||
/* The environment variable that contains the list of fileid patterns. */
|
|
||||||
#define PATH_ENV_VAR "SGML_PATH"
|
|
||||||
|
|
||||||
/* MIN_DAT_SUBS_FROM and MIN_DATS_SUBS_TO tell sgmls how to transform a
|
|
||||||
name or system identifier into a legal filename. A character in
|
|
||||||
MIN_DAT_SUBS_FROM will be transformed into the character in the
|
|
||||||
corresponding position in MIN_DAT_SUBS_TO. If there is no such
|
|
||||||
position, then the character is removed. */
|
|
||||||
/* This says that spaces and the characters :'(),./=? should be deleted. */
|
|
||||||
#define MIN_DAT_SUBS_FROM " :\'(),./=?"
|
|
||||||
#define MIN_DAT_SUBS_TO ""
|
|
||||||
|
|
||||||
/* Define this to allow tracing. */
|
|
||||||
/* #define TRACE 1 */
|
|
||||||
|
|
||||||
/* Define this you want support for subdocuments. This is implemented
|
|
||||||
using features that are not part of Standard C, so you might not want
|
|
||||||
to define it if you are porting to a new system. Otherwise I suggest
|
|
||||||
you leave it defined. */
|
|
||||||
/* OK, I'll drop it for now. -MSM */
|
|
||||||
#define SUPPORT_SUBDOC 0
|
|
||||||
|
|
||||||
/* Define HAVE_EXTENDED_PRINTF if your *printf functions supports
|
|
||||||
X/Open extensions; if they do, then, for example,
|
|
||||||
|
|
||||||
printf("%2$s%1$s", "bar", "foo")
|
|
||||||
|
|
||||||
should print `foobar'. */
|
|
||||||
|
|
||||||
/* #define HAVE_EXTENDED_PRINTF 1 */
|
|
||||||
|
|
||||||
/* Define HAVE_CAT if your system provides the X/Open message
|
|
||||||
catalogue functions catopen() and catgets(), and you want to use them.
|
|
||||||
An implementations of these functions is included and will be used if
|
|
||||||
you don't define this. On SunOS 4.1.1, if you do define this you
|
|
||||||
should set CC=/usr/xpg2bin/cc in the makefile. */
|
|
||||||
|
|
||||||
/* #define HAVE_CAT 1 */
|
|
||||||
|
|
||||||
#ifdef __STDC__
|
|
||||||
/* Define this if your compiler supports prototypes. */
|
|
||||||
#define USE_PROTOTYPES 1
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Can't use <stdarg.h> without prototypes. */
|
|
||||||
#ifndef USE_PROTOTYPES
|
|
||||||
#define VARARGS 1
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* If your compiler defines __STDC__ but doesn't provide <stdarg.h>,
|
|
||||||
you must define VARARGS yourself here. */
|
|
||||||
/* #define VARARGS 1 */
|
|
||||||
|
|
||||||
/* Define this if you do not have strerror(). */
|
|
||||||
/* Manual says we do, linker says it don't like it. -msm */
|
|
||||||
/* #define STRERROR_MISSING 1 */
|
|
||||||
|
|
||||||
/* Define this unless the character testing functions in ctype.h
|
|
||||||
are defined for all values representable as an unsigned char. You do
|
|
||||||
not need to define this if your system is ANSI C conformant. You
|
|
||||||
should define for old Unix systems. */
|
|
||||||
/* #define USE_ISASCII 1 */
|
|
||||||
|
|
||||||
/* Define this if your system provides the BSD style string operations
|
|
||||||
rather than ANSI C ones (eg bcopy() rather than memcpy(), and index()
|
|
||||||
rather than strchr()). */
|
|
||||||
/* #define BSD_STRINGS 1 */
|
|
||||||
|
|
||||||
/* Define this if you have getopt(). */
|
|
||||||
/* #define HAVE_GETOPT 1 */
|
|
||||||
|
|
||||||
/* Define this if you have access(). */
|
|
||||||
#define HAVE_ACCESS 1
|
|
||||||
|
|
||||||
/* Define this if you have <unistd.h>. */
|
|
||||||
/* #define HAVE_UNISTD_H 1 */
|
|
||||||
|
|
||||||
/* Define this if you have waitpid(). */
|
|
||||||
/* #define HAVE_WAITPID 1 */
|
|
||||||
|
|
||||||
/* Define this if your system is POSIX.1 (ISO 9945-1:1990) compliant. */
|
|
||||||
/* #define POSIX 1 */
|
|
||||||
|
|
||||||
/* Define this if you have the vfork() system call. */
|
|
||||||
/* #define HAVE_VFORK 1 */
|
|
||||||
|
|
||||||
/* Define this if you have <vfork.h>. */
|
|
||||||
/* #define HAVE_VFORK_H 1 */
|
|
||||||
|
|
||||||
/* Define this if you don't have <stdlib.h> */
|
|
||||||
/* #define STDLIB_H_MISSING 1 */
|
|
||||||
|
|
||||||
/* Define this if you don't have <stddef.h> */
|
|
||||||
/* #define STDDEF_H_MISSING 1 */
|
|
||||||
|
|
||||||
/* Define this if you don't have remove(); unlink() will be used instead. */
|
|
||||||
/* #define REMOVE_MISSING 1 */
|
|
||||||
|
|
||||||
/* Define this if you don't have raise(); kill() will be used instead. */
|
|
||||||
/* #define RAISE_MISSING 1 */
|
|
||||||
|
|
||||||
/* Define this if you don't have fsetpos() and fgetpos(). */
|
|
||||||
/* Hmm. Waterloo C manual includes them but says "reserved
|
|
||||||
for future use." -msm */
|
|
||||||
/* #define FPOS_MISSING 1 */
|
|
||||||
|
|
||||||
/* Universal pointer type. */
|
|
||||||
/* If your compiler doesn't fully support void *, change `void' to `char'. */
|
|
||||||
typedef void *UNIV;
|
|
||||||
|
|
||||||
/* If your compiler doesn't support void as a function return type,
|
|
||||||
change `void' to `int'. */
|
|
||||||
typedef void VOID;
|
|
||||||
|
|
||||||
/* If you don't have an ANSI C conformant <limits.h>, define
|
|
||||||
CHAR_SIGNED as 1 or 0 according to whether the `char' type is signed.
|
|
||||||
The <limits.h> on some versions of System Release V 3.2 is not ANSI C
|
|
||||||
conformant: the value of CHAR_MIN is 0 even though the `char' type is
|
|
||||||
signed. */
|
|
||||||
|
|
||||||
/* #define CHAR_SIGNED 1 */
|
|
||||||
/* #define CHAR_SIGNED 0 */
|
|
||||||
#ifndef CHAR_SIGNED
|
|
||||||
#include <limits.h>
|
|
||||||
#if CHAR_MIN < 0
|
|
||||||
#define CHAR_SIGNED 1
|
|
||||||
#else
|
|
||||||
#define CHAR_SIGNED 0
|
|
||||||
#endif
|
|
||||||
#endif /* not CHAR_SIGNED */
|
|
||||||
|
|
||||||
/* VM/CMS uses EBCDIC. */
|
|
||||||
#include "ebcdic.h"
|
|
|
@ -1,170 +0,0 @@
|
||||||
/*
|
|
||||||
* CDE - Common Desktop Environment
|
|
||||||
*
|
|
||||||
* Copyright (c) 1993-2012, The Open Group. All rights reserved.
|
|
||||||
*
|
|
||||||
* These libraries and programs are free software; you can
|
|
||||||
* redistribute them and/or modify them under the terms of the GNU
|
|
||||||
* Lesser General Public License as published by the Free Software
|
|
||||||
* Foundation; either version 2 of the License, or (at your option)
|
|
||||||
* any later version.
|
|
||||||
*
|
|
||||||
* These libraries and programs are distributed in the hope that
|
|
||||||
* they will be useful, but WITHOUT ANY WARRANTY; without even the
|
|
||||||
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
|
||||||
* PURPOSE. See the GNU Lesser General Public License for more
|
|
||||||
* details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU Lesser General Public
|
|
||||||
* License along with these libraries and programs; if not, write
|
|
||||||
* to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
|
|
||||||
* Floor, Boston, MA 02110-1301 USA
|
|
||||||
*/
|
|
||||||
/* $XConsortium: config.h /main/4 1996/06/19 17:14:22 drk $ */
|
|
||||||
/* unix.cfg: Configuration file for sgmls on Unix. */
|
|
||||||
|
|
||||||
/* A list of filename templates to use for searching for external entities.
|
|
||||||
The filenames are separated by the character specified in PATH_FILE_SEP.
|
|
||||||
See sgmls.man for details. */
|
|
||||||
#define DEFAULT_PATH "/usr/local/lib/sgml/%O/%C/%T:%N.%X:%N.%D"
|
|
||||||
/* The character that separates the filenames templates. */
|
|
||||||
#define PATH_FILE_SEP ':'
|
|
||||||
/* The character that separates filenames in a system identifier.
|
|
||||||
Usually the same as PATH_FILE_SEP. */
|
|
||||||
#define SYSID_FILE_SEP ':'
|
|
||||||
/* The environment variable that contains the list of filename templates. */
|
|
||||||
#define PATH_ENV_VAR "SGML_PATH"
|
|
||||||
|
|
||||||
/* MIN_DAT_SUBS_FROM and MIN_DATS_SUBS_TO tell sgmls how to transform a name
|
|
||||||
or system identifier into a legal filename. A character in
|
|
||||||
MIN_DAT_SUBS_FROM will be transformed into the character in the
|
|
||||||
corresponding position in MIN_DAT_SUBS_TO. If there is no such
|
|
||||||
position, then the character is removed. */
|
|
||||||
/* This says that spaces should be transformed to underscores, and
|
|
||||||
slashes to percents. */
|
|
||||||
#define MIN_DAT_SUBS_FROM " /"
|
|
||||||
#define MIN_DAT_SUBS_TO "_%"
|
|
||||||
|
|
||||||
/* Define this to allow tracing. */
|
|
||||||
/* #define TRACE 1 */
|
|
||||||
|
|
||||||
/* Define this you want support for subdocuments. This is implemented
|
|
||||||
using features that are not part of Standard C, so you might not want
|
|
||||||
to define it if you are porting to a new system. Otherwise I suggest
|
|
||||||
you leave it defined. */
|
|
||||||
#define SUPPORT_SUBDOC 1
|
|
||||||
|
|
||||||
/* Define HAVE_EXTENDED_PRINTF if your *printf functions supports
|
|
||||||
X/Open extensions; if they do, then, for example,
|
|
||||||
|
|
||||||
printf("%2$s%1$s", "bar", "foo")
|
|
||||||
|
|
||||||
should print `foobar'. */
|
|
||||||
|
|
||||||
#define HAVE_EXTENDED_PRINTF 1
|
|
||||||
|
|
||||||
/* Define HAVE_CAT if your system provides the X/Open message
|
|
||||||
catalogue functions catopen() and catgets(), and you want to use them.
|
|
||||||
An implementations of these functions is included and will be used if
|
|
||||||
you don't define this. On SunOS 4.1.1, if you do define this you
|
|
||||||
should set CC=/usr/xpg2bin/cc in the makefile. */
|
|
||||||
|
|
||||||
#define HAVE_CAT 1
|
|
||||||
|
|
||||||
#ifdef __STDC__
|
|
||||||
/* Define this if your compiler supports prototypes. */
|
|
||||||
#define USE_PROTOTYPES 1
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Can't use <stdarg.h> without prototypes. */
|
|
||||||
#ifndef USE_PROTOTYPES
|
|
||||||
#define VARARGS 1
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* If your compiler defines __STDC__ but doesn't provide <stdarg.h>,
|
|
||||||
you must define VARARGS yourself here. */
|
|
||||||
/* #define VARARGS 1 */
|
|
||||||
|
|
||||||
/* Define this if you do not have strerror(). */
|
|
||||||
/* #define STRERROR_MISSING 1 */
|
|
||||||
|
|
||||||
/* Define this unless the character testing functions in ctype.h
|
|
||||||
are defined for all values representable as an unsigned char. You do
|
|
||||||
not need to define this if your system is ANSI C conformant. You
|
|
||||||
should define for old Unix systems. */
|
|
||||||
/* #define USE_ISASCII 1 */
|
|
||||||
|
|
||||||
/* Define this if your system provides the BSD style string operations
|
|
||||||
rather than ANSI C ones (eg bcopy() rather than memcpy(), and index()
|
|
||||||
rather than strchr()). */
|
|
||||||
/* #define BSD_STRINGS 1 */
|
|
||||||
|
|
||||||
/* Define this if you have getopt(). */
|
|
||||||
#define HAVE_GETOPT 1
|
|
||||||
|
|
||||||
/* Define this if you have access(). */
|
|
||||||
#define HAVE_ACCESS 1
|
|
||||||
|
|
||||||
/* Define this if you have <unistd.h>. */
|
|
||||||
#define HAVE_UNISTD_H 1
|
|
||||||
|
|
||||||
/* Define this if you have <sys/stat.h>. */
|
|
||||||
#define HAVE_SYS_STAT_H 1
|
|
||||||
|
|
||||||
/* Define this if you have waitpid(). */
|
|
||||||
#define HAVE_WAITPID 1
|
|
||||||
|
|
||||||
/* Define this if your system is POSIX.1 (ISO 9945-1:1990) compliant. */
|
|
||||||
#define POSIX 1
|
|
||||||
|
|
||||||
/* Define this if you have the vfork() system call. */
|
|
||||||
#define HAVE_VFORK 1
|
|
||||||
|
|
||||||
/* Define this if you have <vfork.h>. */
|
|
||||||
/* #define HAVE_VFORK_H 1 */
|
|
||||||
|
|
||||||
/* Define this if you don't have <stdlib.h> */
|
|
||||||
/* #define STDLIB_H_MISSING 1 */
|
|
||||||
|
|
||||||
/* Define this if you don't have <stddef.h> */
|
|
||||||
/* #define STDDEF_H_MISSING 1 */
|
|
||||||
|
|
||||||
/* Define this if you don't have <limits.h> */
|
|
||||||
/* #define LIMITS_H_MISSING 1 */
|
|
||||||
|
|
||||||
/* Define this if you don't have remove(); unlink() will be used instead. */
|
|
||||||
/* #define REMOVE_MISSING 1 */
|
|
||||||
|
|
||||||
/* Define this if you don't have raise(); kill() will be used instead. */
|
|
||||||
/* #define RAISE_MISSING 1 */
|
|
||||||
|
|
||||||
/* Define this if you don't have fsetpos() and fgetpos(). */
|
|
||||||
/* #define FPOS_MISSING 1 */
|
|
||||||
|
|
||||||
/* Universal pointer type. */
|
|
||||||
/* If your compiler doesn't fully support void *, change `void' to `char'. */
|
|
||||||
typedef void *UNIV;
|
|
||||||
|
|
||||||
/* If your compiler doesn't support void as a function return type,
|
|
||||||
change `void' to `int'. */
|
|
||||||
typedef void VOID;
|
|
||||||
|
|
||||||
/* If you don't have an ANSI C conformant <limits.h>, define
|
|
||||||
CHAR_SIGNED as 1 or 0 according to whether the `char' type is signed.
|
|
||||||
The <limits.h> on some versions of System Release V 3.2 is not ANSI C
|
|
||||||
conformant: the value of CHAR_MIN is 0 even though the `char' type is
|
|
||||||
signed. */
|
|
||||||
|
|
||||||
/* #define CHAR_SIGNED 1 */
|
|
||||||
/* #define CHAR_SIGNED 0 */
|
|
||||||
#ifndef CHAR_SIGNED
|
|
||||||
#include <limits.h>
|
|
||||||
#if CHAR_MIN < 0
|
|
||||||
#define CHAR_SIGNED 1
|
|
||||||
#else
|
|
||||||
#define CHAR_SIGNED 0
|
|
||||||
#endif
|
|
||||||
#endif /* not CHAR_SIGNED */
|
|
||||||
|
|
||||||
/* Assume the system character set is ISO Latin-1. */
|
|
||||||
#include "latin1.h"
|
|
617
cde/programs/dtdocbook/sgmls/configure
vendored
617
cde/programs/dtdocbook/sgmls/configure
vendored
|
@ -1,617 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
# Generate config.h from unix.cfg.
|
|
||||||
|
|
||||||
trap 'rm -f doit doit.c doit.o doit.log config.out; exit 1' 1 2 3 15
|
|
||||||
|
|
||||||
on=
|
|
||||||
off=
|
|
||||||
CC=${CC-cc}
|
|
||||||
|
|
||||||
# Normally we use VARARGS if __STDC__ is not defined.
|
|
||||||
# Test whether this assumption is wrong.
|
|
||||||
|
|
||||||
cat >doit.c <<\EOF
|
|
||||||
#ifdef __STDC__
|
|
||||||
#include <stdarg.h>
|
|
||||||
int foo(char *s,...)
|
|
||||||
{
|
|
||||||
va_list ap;
|
|
||||||
|
|
||||||
va_start(ap, s);
|
|
||||||
va_end(ap);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
#else
|
|
||||||
int foo = 0;
|
|
||||||
#endif
|
|
||||||
EOF
|
|
||||||
|
|
||||||
$CC $CFLAGS -c doit.c >/dev/null 2>&1
|
|
||||||
if test $? -ne 0
|
|
||||||
then
|
|
||||||
on="$on VARARGS"
|
|
||||||
fi
|
|
||||||
|
|
||||||
cat >doit.c <<\EOF
|
|
||||||
#include <stddef.h>
|
|
||||||
int foo = 0;
|
|
||||||
EOF
|
|
||||||
|
|
||||||
if $CC $CFLAGS -c doit.c >/dev/null 2>&1
|
|
||||||
then
|
|
||||||
off="$off STDDEF_H_MISSING"
|
|
||||||
else
|
|
||||||
on="$on STDDEF_H_MISSING"
|
|
||||||
fi
|
|
||||||
|
|
||||||
cat >doit.c <<\EOF
|
|
||||||
#include <stdlib.h>
|
|
||||||
int foo = 0;
|
|
||||||
EOF
|
|
||||||
|
|
||||||
if $CC $CFLAGS -c doit.c >/dev/null 2>&1
|
|
||||||
then
|
|
||||||
off="$off STDLIB_H_MISSING"
|
|
||||||
else
|
|
||||||
on="$on STDLIB_H_MISSING"
|
|
||||||
fi
|
|
||||||
|
|
||||||
cat >doit.c <<\EOF
|
|
||||||
#include <limits.h>
|
|
||||||
int foo = 0;
|
|
||||||
EOF
|
|
||||||
|
|
||||||
if $CC $CFLAGS -c doit.c >/dev/null 2>&1
|
|
||||||
then
|
|
||||||
off="$off LIMITS_H_MISSING"
|
|
||||||
else
|
|
||||||
on="$on LIMITS_H_MISSING"
|
|
||||||
fi
|
|
||||||
|
|
||||||
cat >doit.c <<\EOF
|
|
||||||
#include <vfork.h>
|
|
||||||
int foo = 0;
|
|
||||||
EOF
|
|
||||||
|
|
||||||
if $CC $CFLAGS -c doit.c >/dev/null 2>&1
|
|
||||||
then
|
|
||||||
on="$on HAVE_VFORK_H"
|
|
||||||
else
|
|
||||||
off="$off HAVE_VFORK_H"
|
|
||||||
fi
|
|
||||||
|
|
||||||
cat >doit.c <<\EOF
|
|
||||||
#include <unistd.h>
|
|
||||||
int foo = 0;
|
|
||||||
EOF
|
|
||||||
|
|
||||||
if $CC $CFLAGS -c doit.c >/dev/null 2>&1
|
|
||||||
then
|
|
||||||
on="$on HAVE_UNISTD_H"
|
|
||||||
else
|
|
||||||
off="$off HAVE_UNISTD_H"
|
|
||||||
fi
|
|
||||||
|
|
||||||
cat >doit.c <<\EOF
|
|
||||||
#include <sys/types.h>
|
|
||||||
#include <sys/stat.h>
|
|
||||||
int foo = 0;
|
|
||||||
EOF
|
|
||||||
|
|
||||||
if $CC $CFLAGS -c doit.c >/dev/null 2>&1
|
|
||||||
then
|
|
||||||
on="$on HAVE_SYS_STAT_H"
|
|
||||||
else
|
|
||||||
off="$off HAVE_SYS_STAT_H"
|
|
||||||
fi
|
|
||||||
|
|
||||||
cat >doit.c <<\EOF
|
|
||||||
/* Exit normally unless we need to use isascii. */
|
|
||||||
|
|
||||||
#include <ctype.h>
|
|
||||||
#include <signal.h>
|
|
||||||
|
|
||||||
static int whoops()
|
|
||||||
{
|
|
||||||
_exit(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
main()
|
|
||||||
{
|
|
||||||
int c;
|
|
||||||
#ifdef isascii
|
|
||||||
#ifdef SIGSEGV
|
|
||||||
signal(SIGSEGV, whoops);
|
|
||||||
#endif
|
|
||||||
#ifdef SIGBUS
|
|
||||||
signal(SIGBUS, whoops);
|
|
||||||
#endif
|
|
||||||
#ifdef SIGIOT
|
|
||||||
signal(SIGIOT, whoops);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
for (c = 128; c < 256; c++) {
|
|
||||||
if (c == '0' || c == '1' || c == '2' || c == '3' || c == '4' || c == '5'
|
|
||||||
|| c == '6' || c == '7' || c == '8' || c == '9') {
|
|
||||||
if (!isdigit(c) || isalpha(c) || iscntrl(c) || isspace(c) || ispunct(c))
|
|
||||||
exit(1);
|
|
||||||
}
|
|
||||||
else if (isdigit(c))
|
|
||||||
exit(1);
|
|
||||||
else if (isalpha(c)) {
|
|
||||||
if (iscntrl(c) || isspace(c) || ispunct(c)
|
|
||||||
|| (islower(c) && toupper(c) != c && !isupper(toupper(c)))
|
|
||||||
|| (isupper(c) && tolower(c) != c && !islower(tolower(c))))
|
|
||||||
exit(1);
|
|
||||||
}
|
|
||||||
else if (islower(c) || isupper(c))
|
|
||||||
exit(1);
|
|
||||||
else if (iscntrl(c)) {
|
|
||||||
if (ispunct(c))
|
|
||||||
exit(1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#endif /* isascii */
|
|
||||||
exit(0);
|
|
||||||
}
|
|
||||||
EOF
|
|
||||||
|
|
||||||
if $CC $CFLAGS -o doit doit.c $LIBS >/dev/null 2>&1 && ./doit 2>/dev/null
|
|
||||||
then
|
|
||||||
# This tries to find the symbol that looks like the array
|
|
||||||
# used by <ctype.h>, and sees if its length appears to be 128
|
|
||||||
# rather than 256.
|
|
||||||
if test 1 = `(nm -n doit 2>/dev/null) | awk '
|
|
||||||
BEGIN {
|
|
||||||
weight["0"] = 0;
|
|
||||||
weight["1"] = 1;
|
|
||||||
weight["2"] = 2;
|
|
||||||
weight["3"] = 3;
|
|
||||||
weight["4"] = 4;
|
|
||||||
weight["5"] = 5;
|
|
||||||
weight["6"] = 6;
|
|
||||||
weight["7"] = 7;
|
|
||||||
weight["8"] = 8;
|
|
||||||
weight["9"] = 9;
|
|
||||||
weight["a"] = weight["A"] = 10;
|
|
||||||
weight["b"] = weight["B"] = 11;
|
|
||||||
weight["c"] = weight["C"] = 12;
|
|
||||||
weight["d"] = weight["D"] = 13;
|
|
||||||
weight["e"] = weight["E"] = 14;
|
|
||||||
weight["f"] = weight["F"] = 15;
|
|
||||||
}
|
|
||||||
|
|
||||||
/^[0-9a-zA-Z]* D .*ctype/ && ctype_nr == 0 {
|
|
||||||
ctype_nr = NR;
|
|
||||||
addr = 0;
|
|
||||||
len = length($1);
|
|
||||||
for (i = 1; i <= len; i++)
|
|
||||||
addr = addr*16 + weight[substr($1, i, 1)];
|
|
||||||
}
|
|
||||||
|
|
||||||
/^[0-9a-zA-Z]* D / && NR == ctype_nr + 1 {
|
|
||||||
next_addr = 0;
|
|
||||||
len = length($1);
|
|
||||||
for (i = 1; i <= len; i++)
|
|
||||||
next_addr = next_addr*16 + weight[substr($1, i, 1)];
|
|
||||||
}
|
|
||||||
|
|
||||||
END {
|
|
||||||
size = next_addr - addr;
|
|
||||||
if (size >= 128 && size < 256)
|
|
||||||
print "1";
|
|
||||||
else
|
|
||||||
print "0";
|
|
||||||
}'`
|
|
||||||
then
|
|
||||||
on="$on USE_ISASCII"
|
|
||||||
else
|
|
||||||
if ((yes | man 3 ctype) 2>/dev/null) \
|
|
||||||
| sed -e 's/.//g' -e 's/ *$//' -e '/de-$/N' \
|
|
||||||
-e 's/-\n//g' -e '/defined$/N' -e '/only$/N' \
|
|
||||||
-e '/where$/N' -e '/isascii$/N' -e '/is$/N' \
|
|
||||||
-e 's/\n/ /g' -e 's/ */ /g' \
|
|
||||||
| grep "defined only where isascii is true" >/dev/null
|
|
||||||
then
|
|
||||||
on="$on USE_ISASCII"
|
|
||||||
else
|
|
||||||
off="$off USE_ISASCII"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
on="$on USE_ISASCII"
|
|
||||||
fi
|
|
||||||
|
|
||||||
cat >doit.c <<\EOF
|
|
||||||
main(argc, argv)
|
|
||||||
int argc;
|
|
||||||
char **argv;
|
|
||||||
{
|
|
||||||
if (argc == 0)
|
|
||||||
remove("foo");
|
|
||||||
exit(0);
|
|
||||||
}
|
|
||||||
EOF
|
|
||||||
|
|
||||||
if $CC $CFLAGS -o doit doit.c $LIBS >/dev/null 2>&1 && ./doit 2>/dev/null
|
|
||||||
then
|
|
||||||
off="$off REMOVE_MISSING"
|
|
||||||
else
|
|
||||||
on="$on REMOVE_MISSING"
|
|
||||||
fi
|
|
||||||
|
|
||||||
cat >doit.c <<\EOF
|
|
||||||
main(argc, argv)
|
|
||||||
int argc;
|
|
||||||
char **argv;
|
|
||||||
{
|
|
||||||
if (argc == 0)
|
|
||||||
getopt(argc, argv, "v");
|
|
||||||
exit(0);
|
|
||||||
}
|
|
||||||
EOF
|
|
||||||
|
|
||||||
if $CC $CFLAGS -o doit doit.c $LIBS >/dev/null 2>&1 && ./doit 2>/dev/null
|
|
||||||
then
|
|
||||||
on="$on HAVE_GETOPT"
|
|
||||||
else
|
|
||||||
off="$off HAVE_GETOPT"
|
|
||||||
fi
|
|
||||||
|
|
||||||
cat >doit.c <<\EOF
|
|
||||||
main(argc, argv)
|
|
||||||
int argc;
|
|
||||||
char **argv;
|
|
||||||
{
|
|
||||||
if (argc == 0)
|
|
||||||
access("foo", 4);
|
|
||||||
exit(0);
|
|
||||||
}
|
|
||||||
EOF
|
|
||||||
|
|
||||||
if $CC $CFLAGS -o doit doit.c $LIBS >/dev/null 2>&1 && ./doit 2>/dev/null
|
|
||||||
then
|
|
||||||
on="$on HAVE_ACCESS"
|
|
||||||
else
|
|
||||||
off="$off HAVE_ACCESS"
|
|
||||||
fi
|
|
||||||
|
|
||||||
cat >doit.c <<\EOF
|
|
||||||
main(argc, argv)
|
|
||||||
int argc;
|
|
||||||
char **argv;
|
|
||||||
{
|
|
||||||
if (argc == 0)
|
|
||||||
vfork();
|
|
||||||
exit(0);
|
|
||||||
}
|
|
||||||
EOF
|
|
||||||
|
|
||||||
if $CC $CFLAGS -o doit doit.c $LIBS >/dev/null 2>&1 && ./doit 2>/dev/null
|
|
||||||
then
|
|
||||||
on="$on HAVE_VFORK"
|
|
||||||
else
|
|
||||||
off="$off HAVE_VFORK"
|
|
||||||
fi
|
|
||||||
|
|
||||||
cat >doit.c <<\EOF
|
|
||||||
main(argc, argv)
|
|
||||||
int argc;
|
|
||||||
char **argv;
|
|
||||||
{
|
|
||||||
|
|
||||||
if (argc == 0) {
|
|
||||||
int status;
|
|
||||||
waitpid(-1, &status, 0);
|
|
||||||
}
|
|
||||||
exit(0);
|
|
||||||
}
|
|
||||||
EOF
|
|
||||||
|
|
||||||
if $CC $CFLAGS -o doit doit.c $LIBS >/dev/null 2>&1 && ./doit 2>/dev/null
|
|
||||||
then
|
|
||||||
on="$on HAVE_WAITPID"
|
|
||||||
else
|
|
||||||
off="$off HAVE_WAITPID"
|
|
||||||
fi
|
|
||||||
|
|
||||||
cat >doit.c <<\EOF
|
|
||||||
#include <string.h>
|
|
||||||
main(argc, argv)
|
|
||||||
int argc;
|
|
||||||
char **argv;
|
|
||||||
{
|
|
||||||
if (argc == 0)
|
|
||||||
strerror(0);
|
|
||||||
exit(0);
|
|
||||||
}
|
|
||||||
EOF
|
|
||||||
|
|
||||||
if $CC $CFLAGS -o doit doit.c $LIBS >/dev/null 2>&1 && ./doit 2>/dev/null
|
|
||||||
then
|
|
||||||
off="$off STRERROR_MISSING"
|
|
||||||
else
|
|
||||||
on="$on STRERROR_MISSING"
|
|
||||||
fi
|
|
||||||
|
|
||||||
cat >doit.c <<\EOF
|
|
||||||
#include <strings.h>
|
|
||||||
main(argc, argv)
|
|
||||||
int argc;
|
|
||||||
char **argv;
|
|
||||||
{
|
|
||||||
if (argc == 0)
|
|
||||||
bcopy((char *)0, (char *)0, 0);
|
|
||||||
exit(0);
|
|
||||||
}
|
|
||||||
EOF
|
|
||||||
|
|
||||||
if $CC $CFLAGS -o doit doit.c $LIBS >/dev/null 2>&1 && ./doit 2>/dev/null
|
|
||||||
then
|
|
||||||
# Only use BSD_STRINGS if ANSI string functions don't work.
|
|
||||||
cat >doit.c <<\EOF
|
|
||||||
#include <string.h>
|
|
||||||
main(argc, argv)
|
|
||||||
int argc;
|
|
||||||
char **argv;
|
|
||||||
{
|
|
||||||
if (argc == 0)
|
|
||||||
memcpy((char *)0, (char *)0, 0);
|
|
||||||
exit(0);
|
|
||||||
}
|
|
||||||
EOF
|
|
||||||
|
|
||||||
if $CC $CFLAGS -o doit doit.c $LIBS >/dev/null 2>&1 && ./doit 2>/dev/null
|
|
||||||
then
|
|
||||||
off="$off BSD_STRINGS"
|
|
||||||
else
|
|
||||||
on="$on BSD_STRINGS"
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
off="$off BSD_STRINGS"
|
|
||||||
fi
|
|
||||||
|
|
||||||
cat >doit.c <<\EOF
|
|
||||||
#include <signal.h>
|
|
||||||
main(argc, argv)
|
|
||||||
int argc;
|
|
||||||
char **argv;
|
|
||||||
{
|
|
||||||
if (argc == 0)
|
|
||||||
raise(SIGINT);
|
|
||||||
exit(0);
|
|
||||||
}
|
|
||||||
EOF
|
|
||||||
|
|
||||||
if $CC $CFLAGS -o doit doit.c $LIBS >/dev/null 2>&1 && ./doit 2>/dev/null
|
|
||||||
then
|
|
||||||
off="$off RAISE_MISSING"
|
|
||||||
else
|
|
||||||
on="$on RAISE_MISSING"
|
|
||||||
fi
|
|
||||||
|
|
||||||
cat >doit.c <<\EOF
|
|
||||||
#include <stdio.h>
|
|
||||||
main(argc, argv)
|
|
||||||
int argc;
|
|
||||||
char **argv;
|
|
||||||
{
|
|
||||||
if (argc == 0) {
|
|
||||||
fpos_t pos;
|
|
||||||
fsetpos(stdin, &pos);
|
|
||||||
fgetpos(stdin, &pos);
|
|
||||||
}
|
|
||||||
exit(0);
|
|
||||||
}
|
|
||||||
EOF
|
|
||||||
|
|
||||||
if $CC $CFLAGS -o doit doit.c $LIBS >/dev/null 2>&1 && ./doit 2>/dev/null
|
|
||||||
then
|
|
||||||
off="$off FPOS_MISSING"
|
|
||||||
else
|
|
||||||
on="$on FPOS_MISSING"
|
|
||||||
fi
|
|
||||||
|
|
||||||
cat >doit.c <<\EOF
|
|
||||||
#include <unistd.h>
|
|
||||||
#include <sys/types.h>
|
|
||||||
#include <sys/wait.h>
|
|
||||||
|
|
||||||
main(argc, argv)
|
|
||||||
int argc;
|
|
||||||
char **argv;
|
|
||||||
{
|
|
||||||
if (argc == 0) {
|
|
||||||
pid_t pid;
|
|
||||||
int status;
|
|
||||||
long n = sysconf(_SC_OPEN_MAX);
|
|
||||||
pid = waitpid(-1, &status, 0);
|
|
||||||
WIFSTOPPED(status);
|
|
||||||
WIFSIGNALED(status);
|
|
||||||
WIFEXITED(status);
|
|
||||||
WEXITSTATUS(status);
|
|
||||||
WTERMSIG(status);
|
|
||||||
WSTOPSIG(status);
|
|
||||||
}
|
|
||||||
exit(0);
|
|
||||||
}
|
|
||||||
EOF
|
|
||||||
|
|
||||||
if $CC $CFLAGS -o doit doit.c $LIBS >/dev/null 2>&1 && ./doit 2>/dev/null
|
|
||||||
then
|
|
||||||
on="$on POSIX"
|
|
||||||
else
|
|
||||||
off="$off POSIX"
|
|
||||||
fi
|
|
||||||
|
|
||||||
cat >doit.c <<\EOF
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <signal.h>
|
|
||||||
|
|
||||||
static int whoops()
|
|
||||||
{
|
|
||||||
_exit(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
main()
|
|
||||||
{
|
|
||||||
char buf[30];
|
|
||||||
#ifdef SIGSEGV
|
|
||||||
signal(SIGSEGV, whoops);
|
|
||||||
#endif
|
|
||||||
#ifdef SIGBUS
|
|
||||||
signal(SIGBUS, whoops);
|
|
||||||
#endif
|
|
||||||
#ifdef SIGIOT
|
|
||||||
signal(SIGIOT, whoops);
|
|
||||||
#endif
|
|
||||||
sprintf(buf, "%2$s%2$s%1$s%1$s", "bar", "foo");
|
|
||||||
exit(!!strcmp(buf, "foofoobarbar"));
|
|
||||||
}
|
|
||||||
EOF
|
|
||||||
|
|
||||||
if $CC $CFLAGS -o doit doit.c $LIBS >/dev/null 2>&1 && ./doit 2>/dev/null
|
|
||||||
then
|
|
||||||
on="$on HAVE_EXTENDED_PRINTF"
|
|
||||||
else
|
|
||||||
off="$off HAVE_EXTENDED_PRINTF"
|
|
||||||
fi
|
|
||||||
|
|
||||||
cat >doit.c <<\EOF
|
|
||||||
#include <nl_types.h>
|
|
||||||
|
|
||||||
main(argc, argv)
|
|
||||||
int argc;
|
|
||||||
char **argv;
|
|
||||||
{
|
|
||||||
if (argc == 0) {
|
|
||||||
nl_catd d = catopen("foo", 0);
|
|
||||||
catgets(d, 1, 1, "default");
|
|
||||||
catclose(d);
|
|
||||||
}
|
|
||||||
exit(0);
|
|
||||||
}
|
|
||||||
EOF
|
|
||||||
|
|
||||||
if $CC $CFLAGS -o doit doit.c $LIBS >/dev/null 2>&1 && ./doit 2>/dev/null
|
|
||||||
then
|
|
||||||
on="$on HAVE_CAT"
|
|
||||||
else
|
|
||||||
off="$off HAVE_CAT"
|
|
||||||
fi
|
|
||||||
|
|
||||||
cat >doit.c <<\EOF
|
|
||||||
#include <limits.h>
|
|
||||||
|
|
||||||
char c = UCHAR_MAX;
|
|
||||||
|
|
||||||
main(argc, argv)
|
|
||||||
int argc;
|
|
||||||
char **argv;
|
|
||||||
{
|
|
||||||
#if CHAR_MIN < 0
|
|
||||||
exit(!(c < 0));
|
|
||||||
#else
|
|
||||||
exit(!(c > 0));
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
EOF
|
|
||||||
|
|
||||||
if $CC $CFLAGS -o doit doit.c $LIBS >/dev/null 2>&1 && ./doit 2>/dev/null
|
|
||||||
then
|
|
||||||
char_signed=
|
|
||||||
else
|
|
||||||
cat >doit.c <<\EOF
|
|
||||||
main()
|
|
||||||
{
|
|
||||||
int i;
|
|
||||||
|
|
||||||
for (i = 0; i < 512; i++) {
|
|
||||||
char c = (char)i;
|
|
||||||
if (c < 0)
|
|
||||||
exit(1);
|
|
||||||
}
|
|
||||||
exit(0);
|
|
||||||
}
|
|
||||||
EOF
|
|
||||||
|
|
||||||
if $CC $CFLAGS -o doit doit.c $LIBS >/dev/null 2>&1 && ./doit 2>/dev/null
|
|
||||||
then
|
|
||||||
char_signed=0
|
|
||||||
else
|
|
||||||
char_signed=1
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
cat >doit.c <<\EOF
|
|
||||||
|
|
||||||
typedef void VOID;
|
|
||||||
|
|
||||||
extern VOID bar();
|
|
||||||
|
|
||||||
VOID foo()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
EOF
|
|
||||||
|
|
||||||
if $CC $CFLAGS -c doit.c >/dev/null 2>&1
|
|
||||||
then
|
|
||||||
void_ret=void
|
|
||||||
else
|
|
||||||
void_ret=int
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
cat >doit.c <<\EOF
|
|
||||||
|
|
||||||
void *foo()
|
|
||||||
{
|
|
||||||
static char *buf;
|
|
||||||
return buf;
|
|
||||||
}
|
|
||||||
EOF
|
|
||||||
|
|
||||||
if $CC $CFLAGS -c doit.c >doit.log 2>&1
|
|
||||||
then
|
|
||||||
if test -s doit.log
|
|
||||||
then
|
|
||||||
void_star="char \*"
|
|
||||||
else
|
|
||||||
void_star="void \*"
|
|
||||||
fi
|
|
||||||
|
|
||||||
else
|
|
||||||
void_star="char \*"
|
|
||||||
fi
|
|
||||||
|
|
||||||
edit=
|
|
||||||
|
|
||||||
rm -f doit.c doit doit.log doit.o
|
|
||||||
|
|
||||||
for var in $on
|
|
||||||
do
|
|
||||||
edit="$edit -e 's;^/\\* *\\(#define $var [^/]*\\) *\\*/;\\1;'"
|
|
||||||
done
|
|
||||||
for var in $off
|
|
||||||
do
|
|
||||||
edit="$edit -e 's;^#define $var [^/]*;/* & */;'"
|
|
||||||
done
|
|
||||||
|
|
||||||
if test -n "$char_signed"
|
|
||||||
then
|
|
||||||
edit="$edit -e 's;^/\\* *\\(#define CHAR_SIGNED $char_signed\\) *\\*/;\\1;'"
|
|
||||||
fi
|
|
||||||
|
|
||||||
edit="$edit -e 's/^typedef .*VOID;/typedef $void_ret VOID;/'"
|
|
||||||
edit="$edit -e 's/^typedef .*UNIV;/typedef ${void_star}UNIV;/'"
|
|
||||||
|
|
||||||
if test "X$(PREFIX)" != "X/usr/local"
|
|
||||||
then
|
|
||||||
edit="$edit -e '/DEFAULT_PATH/s;/usr/local;$PREFIX;g'"
|
|
||||||
fi
|
|
||||||
|
|
||||||
eval sed $edit unix.cfg ">config.out"
|
|
||||||
|
|
||||||
mv config.out config.h
|
|
||||||
|
|
||||||
exit 0
|
|
|
@ -1,467 +0,0 @@
|
||||||
/*
|
|
||||||
* CDE - Common Desktop Environment
|
|
||||||
*
|
|
||||||
* Copyright (c) 1993-2012, The Open Group. All rights reserved.
|
|
||||||
*
|
|
||||||
* These libraries and programs are free software; you can
|
|
||||||
* redistribute them and/or modify them under the terms of the GNU
|
|
||||||
* Lesser General Public License as published by the Free Software
|
|
||||||
* Foundation; either version 2 of the License, or (at your option)
|
|
||||||
* any later version.
|
|
||||||
*
|
|
||||||
* These libraries and programs are distributed in the hope that
|
|
||||||
* they will be useful, but WITHOUT ANY WARRANTY; without even the
|
|
||||||
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
|
||||||
* PURPOSE. See the GNU Lesser General Public License for more
|
|
||||||
* details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU Lesser General Public
|
|
||||||
* License along with these libraries and programs; if not, write
|
|
||||||
* to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
|
|
||||||
* Floor, Boston, MA 02110-1301 USA
|
|
||||||
*/
|
|
||||||
/* $XConsortium: context.c /main/3 1996/06/19 17:14:26 drk $ */
|
|
||||||
#include "sgmlincl.h" /* #INCLUDE statements for SGML parser. */
|
|
||||||
#include "context.h"
|
|
||||||
|
|
||||||
#define GI (tags[ts].tetd->etdgi+1) /* GI of current element. */
|
|
||||||
#define NEWGI (newetd->etdgi+1) /* GI of new tag. */
|
|
||||||
#define STATUS (*statuspt) /* Token status: RCHIT RCMISS RCEND RCREQ RCNREQ*/
|
|
||||||
#define PEX (-1) /* GI is a plus exception and not a minus. */
|
|
||||||
|
|
||||||
#define ANYHIT(h) (grplongs == 1 ? ((h)[0] != 0) : anyhit(h))
|
|
||||||
#define HITSET(h, n) (h[(unsigned)(n-1)>>LONGPOW] \
|
|
||||||
|= (1L<<((n-1)&(LONGBITS-1))))
|
|
||||||
#define HITON(h, n) (h[(unsigned)(n-1)>>LONGPOW] & (1L<<((n-1)&(LONGBITS-1))))
|
|
||||||
|
|
||||||
#define HITOFF(h, n) (!(HITON(h, n)))
|
|
||||||
|
|
||||||
#define TOKENHIT HITON(H,T)
|
|
||||||
|
|
||||||
static
|
|
||||||
VOID copypos(to, from)
|
|
||||||
struct mpos *to, *from;
|
|
||||||
{
|
|
||||||
int i;
|
|
||||||
for (i = 0; i <= (int)from[0].t; i++) {
|
|
||||||
to[i].g = from[i].g;
|
|
||||||
to[i].t = from[i].t;
|
|
||||||
memcpy(to[i].h, from[i].h, grplongs*sizeof(unsigned long));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* CONTEXT: Determine whether a GI is valid in the present structural context.
|
|
||||||
Returns RCHIT if valid, RCEND if element has ended, RCREQ if a
|
|
||||||
different element is required, and RCMISS if it is totally invalid.
|
|
||||||
On entry, pos points to the model token to be tested against the GI.
|
|
||||||
TO DO: Save allowed GIs for an error message on an RCMISS.
|
|
||||||
Support a "query" mode (what is allowed now?) by working
|
|
||||||
with a copy of pos.
|
|
||||||
*/
|
|
||||||
int context(gi, mod, pos, statuspt, mexts)
|
|
||||||
struct etd *gi; /* ETD of new GI. */
|
|
||||||
struct thdr mod[]; /* Model of current open element. */
|
|
||||||
struct mpos pos[]; /* Position in open element's model. */
|
|
||||||
UNCH *statuspt; /* Token status: RCHIT RCMISS RCEND RCREQ RCNREQ*/
|
|
||||||
int mexts; /* >0=stack level of minus grp; -1=plus; 0=none.*/
|
|
||||||
{
|
|
||||||
UNCH toccsv, gtypesv; /* Save token's TOCC and GTYPE in case grp ends.*/
|
|
||||||
|
|
||||||
if (mexts == -1) {
|
|
||||||
if (STATUS == RCEND)
|
|
||||||
return RCPEX;
|
|
||||||
copypos(savedpos, pos);
|
|
||||||
}
|
|
||||||
Tstart = T; /* Save starting token for AND group testing. */
|
|
||||||
while (STATUS!=RCMISS && STATUS!=RCEND) {
|
|
||||||
TRACEGI("CONTEXT", gi, mod, pos, Tstart);
|
|
||||||
while (TTYPE==TTOR || TTYPE==TTSEQ || TTYPE==TTAND) {
|
|
||||||
pos[P+1].g = M++; pos[++P].t = 1; HITCLEAR(H);
|
|
||||||
Tstart = T; /* Save starting token for AND group testing. */
|
|
||||||
TRACEGI("OPENGRP", gi, mod, pos, Tstart);
|
|
||||||
}
|
|
||||||
STATUS = (UNCH)tokenreq(gi, mod, pos);
|
|
||||||
TRACEGI("STATUS", gi, mod, pos, Tstart);
|
|
||||||
if (gi==TOKEN.tu.thetd) { /* Hit in model. */
|
|
||||||
STATUS = (UNCH)RCHIT;
|
|
||||||
gtypesv = GTYPE; toccsv = TOCC;
|
|
||||||
newtoken(mod, pos, statuspt);
|
|
||||||
return(mexts<=0 ? RCHIT : (gtypesv==TTOR || BITON(toccsv, TOPT))
|
|
||||||
? RCMEX : RCHITMEX);
|
|
||||||
}
|
|
||||||
if (STATUS==RCREQ) {
|
|
||||||
if (mexts == -1)
|
|
||||||
break;
|
|
||||||
STATUS = RCHIT;
|
|
||||||
nextetd = TOKEN.tu.thetd;
|
|
||||||
newtoken(mod, pos, statuspt);
|
|
||||||
return(RCREQ);
|
|
||||||
}
|
|
||||||
/* else if (STATUS==RCNREQ) */
|
|
||||||
if (mexts>0) return(RCMEX);
|
|
||||||
newtoken(mod, pos, statuspt);
|
|
||||||
}
|
|
||||||
if (mexts == -1) {
|
|
||||||
copypos(pos, savedpos);
|
|
||||||
return STATUS = RCPEX;
|
|
||||||
}
|
|
||||||
return((int)STATUS);
|
|
||||||
}
|
|
||||||
/* ECONTEXT: Determine whether the current element can be ended, or whether
|
|
||||||
non-optional tokens remain at the current level or higher.
|
|
||||||
Returns 1 if element can be ended, or 0 if tokens remain.
|
|
||||||
On entry, STATUS==RCEND if there are no tokens left; if not,
|
|
||||||
pos points to the next model token to be tested.
|
|
||||||
TO DO: Support a "query" mode (what is required now?) by working
|
|
||||||
with a copy of pos.
|
|
||||||
*/
|
|
||||||
int econtext(mod, pos, statuspt)
|
|
||||||
struct thdr mod[]; /* Model of current open element. */
|
|
||||||
struct mpos pos[]; /* Position in open element's model. */
|
|
||||||
UNCH *statuspt; /* Token status: RCHIT RCMISS RCEND RCREQ RCNREQ*/
|
|
||||||
{
|
|
||||||
unsigned next; /* Position in AND group of next testable token.*/
|
|
||||||
|
|
||||||
Tstart = T;
|
|
||||||
TRACEEND("ECONT", mod, pos, 0, 0, Tstart);
|
|
||||||
if (P<=1) {nextetd = 0; return(TOKENHIT || BITON(TOCC, TOPT));}
|
|
||||||
nextetd = TTYPE == TTETD ? TOKEN.tu.thetd : 0;
|
|
||||||
while (STATUS!=RCMISS && STATUS!=RCEND) {
|
|
||||||
STATUS = (UNCH)testend(mod, pos, 0, 0);
|
|
||||||
TRACEEND("ECONTEND", mod, pos, 0, 0, Tstart);
|
|
||||||
nextetd = P<=1 || TTYPE != TTETD ? 0 : TOKEN.tu.thetd;
|
|
||||||
if (STATUS==RCEND) return(1);
|
|
||||||
if (P<=1) return(TOKENHIT || BITON(TOCC, TOPT));
|
|
||||||
if (STATUS==RCMISS) {
|
|
||||||
if (BITON(TOCC, TOPT)) nextetd = 0;
|
|
||||||
return(0);
|
|
||||||
}
|
|
||||||
if (!tokenopt(mod, pos)) return(0);
|
|
||||||
|
|
||||||
STATUS = RCNREQ;
|
|
||||||
if (GTYPE!=TTAND) ++T; /* T!=GNUM or group would have ended. */
|
|
||||||
else T = (UNCH)(((next = (UNS)offbit(H, (int)T, GNUM))!=0) ?
|
|
||||||
next : offbit(H, 0, GNUM));
|
|
||||||
|
|
||||||
M = G + grpsz(&GHDR, (int)T-1) + 1;
|
|
||||||
TRACEEND("ECONTNEW", mod, pos, 0, 0, Tstart);
|
|
||||||
}
|
|
||||||
if (STATUS==RCMISS) {
|
|
||||||
if (BITON(TOCC, TOPT)) nextetd = 0;
|
|
||||||
return(0);
|
|
||||||
}
|
|
||||||
return(1); /* STATUS==RCEND */
|
|
||||||
}
|
|
||||||
/* NEWTOKEN: Find the next token to test. Set STATUS to indicate results:
|
|
||||||
RCEND if element has ended (no more tokens to test);
|
|
||||||
RCREQ if required new token was found;
|
|
||||||
RCNREQ if non-required new token was found;
|
|
||||||
RCHIT if a hit token was repeated (now non-required);
|
|
||||||
and RCMISS if a new token can't be found because current token
|
|
||||||
(which was not hit) was neither unconditionally required nor
|
|
||||||
optional.
|
|
||||||
*/
|
|
||||||
VOID newtoken(mod, pos, statuspt)
|
|
||||||
struct thdr mod[]; /* Model of current open element. */
|
|
||||||
struct mpos pos[]; /* Position in open element's model. */
|
|
||||||
UNCH *statuspt; /* Token status: RCHIT RCMISS RCEND RCREQ RCNREQ*/
|
|
||||||
{
|
|
||||||
unsigned nextand = 0; /* Position in AND group of next testable token.*/
|
|
||||||
int currhit = (STATUS==RCHIT); /* 1=current GI hit; 0=not. */
|
|
||||||
|
|
||||||
/* If the GI was a hit, turn on the hit bit and set the status to
|
|
||||||
assume that the token to be tested against the next GI will
|
|
||||||
be non-required. If the current token is repeatable, exit so
|
|
||||||
it will stand as the next token to test.
|
|
||||||
*/
|
|
||||||
if (STATUS==RCHIT) {
|
|
||||||
HITSET(H, T);
|
|
||||||
STATUS = RCNREQ;
|
|
||||||
if (BITON(TOCC, TREP)) return;
|
|
||||||
}
|
|
||||||
/* At this point, we must determine the next token to test:
|
|
||||||
either against the next GI, if this one was a hit, or
|
|
||||||
against the same GI if conditions permit a retry.
|
|
||||||
To find the next token, we must first end the current group,
|
|
||||||
if possible, and any we can that contain it.
|
|
||||||
If the outermost group was a hit and is repeatable, or
|
|
||||||
if the element has ended, we exit now.
|
|
||||||
If it hasn't ended, or was optional and ended with a miss,
|
|
||||||
we can retry the GI against the next token.
|
|
||||||
*/
|
|
||||||
if ((STATUS = (UNCH)testend(mod, pos, 1, 1))!=RCNREQ) return;
|
|
||||||
|
|
||||||
/* At this point, the "current token" is either the original one,
|
|
||||||
or the token for the highest level unhit group that it ended.
|
|
||||||
We will retry a missed GI, by testing it against the next
|
|
||||||
token, if the current token:
|
|
||||||
1. Is optional;
|
|
||||||
2. Was hit (i.e., because it is repeatable and was hit by a
|
|
||||||
previous GI or because it is a hit group that just ended);
|
|
||||||
3. Is in an AND or OR group and is not the last testable token.
|
|
||||||
|
|
||||||
It will be the next sequential one (unhit one, in an AND group);
|
|
||||||
if there are none left, use the first unhit token in the group.
|
|
||||||
In either case, set M to correspond to the new T.
|
|
||||||
*/
|
|
||||||
retest:
|
|
||||||
TRACEEND("RETEST", mod, pos, (int)nextand, 1, Tstart);
|
|
||||||
if (GTYPE==TTAND) {
|
|
||||||
nextand = offbit(H, (int)T, GNUM);
|
|
||||||
if (!nextand)
|
|
||||||
nextand = offbit(H, 0, GNUM);
|
|
||||||
}
|
|
||||||
if ( BITON(TOCC, TOPT)
|
|
||||||
|| TOKENHIT
|
|
||||||
|| GTYPE==TTOR /* T!=GNUM or group would have ended. */
|
|
||||||
|| nextand ) {
|
|
||||||
if (GTYPE!=TTAND) ++T; /* T!=GNUM or group would have ended. */
|
|
||||||
else T = nextand;
|
|
||||||
M = G + grpsz(&GHDR, (int)T-1) + 1;
|
|
||||||
if (GTYPE==TTAND) {
|
|
||||||
/* If AND group wrapped, it can end if all non-optionals were
|
|
||||||
hit. */
|
|
||||||
if (T==Tstart && !currhit) {
|
|
||||||
UNCH Psave = P;
|
|
||||||
int rc = testend(mod, pos, 0, 1);
|
|
||||||
if (Psave!=P) {if ((STATUS = (UNCH)rc)==RCNREQ) goto retest;}
|
|
||||||
else STATUS = RCMISS;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* We only test unhit tokens, so we must use an unhit token
|
|
||||||
as Tstart (which is used to detect when the AND group has
|
|
||||||
wrapped). */
|
|
||||||
else if (HITON(H,Tstart)) Tstart = T;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else STATUS = RCMISS;
|
|
||||||
TRACEEND("NEWTOKEN", mod, pos, (int)nextand, 1, Tstart);
|
|
||||||
}
|
|
||||||
/* TESTEND: End the current group, if possible, and any that it is nested in.
|
|
||||||
The current token will either be a group header, or some token
|
|
||||||
that could not end its group. Return 1 if the (possibly new)
|
|
||||||
current token is repeatable; 0 if it is not.
|
|
||||||
*/
|
|
||||||
int testend(mod, pos, andoptsw, newtknsw)
|
|
||||||
struct thdr mod[]; /* Model of current open element. */
|
|
||||||
struct mpos pos[]; /* Position in open element's model. */
|
|
||||||
int andoptsw; /* 1=test optional AND members; 0=ignore. */
|
|
||||||
int newtknsw; /* 1=new token test; 0=end element test. */
|
|
||||||
{
|
|
||||||
int rc = 0; /* Return code: RCNREQ RCHIT RCMISS RCEND */
|
|
||||||
|
|
||||||
while (!rc) {
|
|
||||||
TRACEEND("TRACEEND", mod, pos, rc, andoptsw, Tstart);
|
|
||||||
/* TESTMISS:
|
|
||||||
If we've hit no tokens yet in the current group, and
|
|
||||||
the current token is the last unhit one in the group we can test,
|
|
||||||
we will end the group (it may never really have started!)
|
|
||||||
because we might be able to try the token that follows it.
|
|
||||||
In any group, a token is the last testable unhit token if it
|
|
||||||
is the last sequential one, as the GI was already tested against
|
|
||||||
the preceding unhit tokens. In addition,
|
|
||||||
in a SEQ group, it is the last testable unhit token if it isn't
|
|
||||||
optional, because we can't skip past it to the following ones.
|
|
||||||
If we end the group, before popping the level, set M to G, as this
|
|
||||||
level`s group header will be the next level's current token.
|
|
||||||
*/
|
|
||||||
if (!ANYHIT(H) && (T==GNUM
|
|
||||||
|| (GTYPE==TTSEQ && BITOFF(TOCC, TOPT)))) {
|
|
||||||
M = G; --P; Tstart = T;
|
|
||||||
if (P<=1) {
|
|
||||||
if (BITON(TOCC, TOPT) || TOKENHIT) rc = RCEND;
|
|
||||||
else rc = RCMISS;
|
|
||||||
}
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
/* TESTHIT:
|
|
||||||
See if we've hit all the non-optional tokens in the group.
|
|
||||||
If so, pop to the previous level and set the group's hit bit.
|
|
||||||
If we were called from NEWTOKEN we are trying to find the token
|
|
||||||
to test against the next start-tag, so if the group is repeatable,
|
|
||||||
process it again. (If not, we were called from ECONTEXT and
|
|
||||||
are testing whether the element can be ended.)
|
|
||||||
Otherwise, if we are at the first level, the element is over.
|
|
||||||
*/
|
|
||||||
if ((GTYPE==TTOR && TOKENHIT)
|
|
||||||
|| (GTYPE==TTSEQ && T==(UNCH)GNUM
|
|
||||||
&& (TOKENHIT || BITON(TOCC, TOPT)))
|
|
||||||
|| (GTYPE==TTAND && allhit(&GHDR, H, 0, andoptsw))) {
|
|
||||||
M = G;
|
|
||||||
--P;
|
|
||||||
HITSET(H, T);
|
|
||||||
Tstart = T;
|
|
||||||
if (newtknsw && BITON(TOCC, TREP)) rc = RCHIT;
|
|
||||||
else if (P<=1) rc = RCEND;
|
|
||||||
/* If we are looking for a new token to test against the next
|
|
||||||
start-tag, then we need to consider optional and members
|
|
||||||
in this group, even if we didn't need to consider them
|
|
||||||
in the group that we just ended because that group had
|
|
||||||
wrapped. */
|
|
||||||
else if (newtknsw) andoptsw = 1;
|
|
||||||
/* Else loop to test new outer group. */
|
|
||||||
}
|
|
||||||
else rc = RCNREQ; /* No group ended this time, so return. */
|
|
||||||
}
|
|
||||||
TRACEEND("ENDFOUND", mod, pos, rc, andoptsw, Tstart);
|
|
||||||
return(rc);
|
|
||||||
}
|
|
||||||
/* TOKENOPT: Return 1 if current token is contextually optional;
|
|
||||||
otherwise, return 0.
|
|
||||||
*/
|
|
||||||
int tokenopt(mod, pos)
|
|
||||||
struct thdr mod[]; /* Model of current open element. */
|
|
||||||
struct mpos pos[]; /* Position in open element's model. */
|
|
||||||
{
|
|
||||||
TRACEEND("TOKENOPT", mod, pos, 0, 0, Tstart);
|
|
||||||
return (BITON(TOCC, TOPT) /* Inherently optional. */
|
|
||||||
|| TOKENHIT /* Was hit (handles "plus" suffix case). */
|
|
||||||
|| (!ANYHIT(H) && groupopt(mod, pos)));
|
|
||||||
/* In optional group with no hits. */
|
|
||||||
}
|
|
||||||
/* GROUPOPT: Temporarily makes the current group be the current token so that
|
|
||||||
TOKENOPT() can be applied to it. Returns the value returned
|
|
||||||
by TOKENOPT.
|
|
||||||
*/
|
|
||||||
int groupopt(mod, pos)
|
|
||||||
struct thdr mod[]; /* Model of current open element. */
|
|
||||||
struct mpos pos[]; /* Position in open element's model. */
|
|
||||||
{
|
|
||||||
UNCH saveM; /* Save M when testing if group is not required.*/
|
|
||||||
int rc; /* 1=contextually optional; 0=not. */
|
|
||||||
|
|
||||||
if (P==1) return(BITON(GOCC, TOPT) || TOKENHIT);
|
|
||||||
saveM = M; M = G; --P;
|
|
||||||
rc = tokenopt(mod, pos);
|
|
||||||
++P; G = M; M = saveM;
|
|
||||||
return(rc);
|
|
||||||
}
|
|
||||||
/* TOKENREQ: Returns RCREQ if the current token is "contextually required".
|
|
||||||
That is, it is not contextually optional and
|
|
||||||
1) it is a member of a "seq" group that is either required
|
|
||||||
or has at least 1 hit token.
|
|
||||||
2) it is a member of an "and" group in which all other
|
|
||||||
tokens were hit.
|
|
||||||
Optional tokens are not counted
|
|
||||||
if GI is ETDCDATA, as we are looking for an
|
|
||||||
omitted start-tag. Otherwise, they are counted,
|
|
||||||
as the GI might match one of them.
|
|
||||||
Returns RCNREQ if the current token is "not required".
|
|
||||||
*/
|
|
||||||
int tokenreq(gi, mod, pos)
|
|
||||||
struct etd *gi; /* ETD of new GI. */
|
|
||||||
struct thdr mod[]; /* Model of current open element. */
|
|
||||||
struct mpos pos[]; /* Position in open element's model. */
|
|
||||||
{
|
|
||||||
TRACEGI("TOKENREQ", gi, mod, pos, Tstart);
|
|
||||||
return( tokenopt(mod, pos) ? RCNREQ
|
|
||||||
: ( GTYPE==TTSEQ && (ANYHIT(H) || groupreq(gi, mod, pos)==RCREQ)
|
|
||||||
#if 0
|
|
||||||
|| (GTYPE==TTAND && allhit(&GHDR, H, T, \*gi!=ETDCDATA*\ 1))
|
|
||||||
#endif
|
|
||||||
)
|
|
||||||
? RCREQ : RCNREQ );
|
|
||||||
}
|
|
||||||
/* GROUPREQ: Temporarily makes the current group be the current token so that
|
|
||||||
TOKENREQ() can be applied to it. Returns the value returned
|
|
||||||
by TOKENREQ.
|
|
||||||
*/
|
|
||||||
int groupreq(gi, mod, pos)
|
|
||||||
struct etd *gi; /* ETD of new GI. */
|
|
||||||
struct thdr mod[]; /* Model of current open element. */
|
|
||||||
struct mpos pos[]; /* Position in open element's model. */
|
|
||||||
{
|
|
||||||
UNCH saveM; /* Save M when testing if group is not required.*/
|
|
||||||
int rc; /* Return code: RCREQ RCNREQ */
|
|
||||||
|
|
||||||
if (P==1) return(BITOFF(GOCC, TOPT) ? RCREQ : RCNREQ);
|
|
||||||
saveM = M; M = G; --P;
|
|
||||||
rc = tokenreq(gi, mod, pos);
|
|
||||||
++P; G = M; M = saveM;
|
|
||||||
return(rc);
|
|
||||||
}
|
|
||||||
/* GRPSZ: Returns the number of tokens spanned by a group in the model (M),
|
|
||||||
from the group's start (G) to a specified index within the group (T).
|
|
||||||
M = 0, plus 1 for each token in the group, plus the size of
|
|
||||||
any subgroups (gotten by calling GRPSZ recursively). On entry,
|
|
||||||
M must be equal to G at the current level.
|
|
||||||
*/
|
|
||||||
int grpsz(g, t)
|
|
||||||
struct thdr *g; /* mod[G]: Ptr to group in the model. */
|
|
||||||
int t; /* T: Index of last token in the group. */
|
|
||||||
{
|
|
||||||
struct thdr *p = g; /* Ptr to current token in the model. */
|
|
||||||
int m = 0; /* Size of group (including nested groups). */
|
|
||||||
int i = 0; /* Number of group members (loop counter). */
|
|
||||||
UNS type; /* Token type (without TOREP bits). */
|
|
||||||
|
|
||||||
while (++i<=t) {
|
|
||||||
++p; ++m;
|
|
||||||
type = GET(p->ttype, TTMASK);
|
|
||||||
if (type==TTOR || type==TTSEQ || type==TTAND) {
|
|
||||||
m += grpsz(p, p->tu.tnum);
|
|
||||||
p = g+m;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return(m);
|
|
||||||
}
|
|
||||||
/* ALLHIT: Returns 1 if all hit bits for the specified group are turned on,
|
|
||||||
(other than those that correspond to optional tokens if "opt" is
|
|
||||||
0) and the "but" bit (all bits if "but" bit is zero). Otherwise,
|
|
||||||
returns 0. GRPSZ is used to skip past subgroup tokens.
|
|
||||||
*/
|
|
||||||
int allhit(p, hits, but, opt)
|
|
||||||
struct thdr *p; /* mod[G]: Ptr to group in the model. */
|
|
||||||
unsigned long *hits; /* H: Hit bits to be tested. */
|
|
||||||
int but; /* Index of bit to ignore; 0=test all. */
|
|
||||||
int opt; /* 1=optional tokens must be hit; 0=ignore. */
|
|
||||||
{
|
|
||||||
int b = 0; /* Index of bit being tested in hits. */
|
|
||||||
int e = p->tu.tnum; /* Ending index (number of bits to test). */
|
|
||||||
unsigned type; /* Token type (without TOREP bits). */
|
|
||||||
|
|
||||||
while (++p, ++b<=e) {
|
|
||||||
if (HITOFF(hits,b) && (opt || BITOFF(p->ttype,TOPT)) && b!=but)
|
|
||||||
return 0;
|
|
||||||
if ((type = GET(p->ttype,TTMASK))==TTOR || type==TTSEQ || type==TTAND)
|
|
||||||
p += grpsz(p, p->tu.tnum);
|
|
||||||
}
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
/* OFFBIT: Returns the index of the first unset bit after (i.e., not including)
|
|
||||||
the caller's "first" bit. If all bits through the
|
|
||||||
specified last bit are on, it returns 0.
|
|
||||||
*/
|
|
||||||
int offbit(bits, first, last)
|
|
||||||
unsigned long *bits; /* Bits to be tested. */
|
|
||||||
int first; /* Index of first bit to be tested in bits. */
|
|
||||||
int last; /* Index of last bit to be tested in bits. */
|
|
||||||
{
|
|
||||||
while (++first <= last)
|
|
||||||
if (HITOFF(bits, first))
|
|
||||||
return first;
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* ANYHIT: Return 1 if any bit is set. */
|
|
||||||
|
|
||||||
int anyhit(bits)
|
|
||||||
unsigned long *bits;
|
|
||||||
{
|
|
||||||
int i;
|
|
||||||
for (i = 0; i < grplongs; i++)
|
|
||||||
if (bits[i] != 0)
|
|
||||||
return 1;
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
Local Variables:
|
|
||||||
c-indent-level: 5
|
|
||||||
c-continued-statement-offset: 5
|
|
||||||
c-brace-offset: -5
|
|
||||||
c-argdecl-indent: 0
|
|
||||||
c-label-offset: -5
|
|
||||||
comment-column: 30
|
|
||||||
End:
|
|
||||||
*/
|
|
|
@ -1,40 +0,0 @@
|
||||||
/*
|
|
||||||
* CDE - Common Desktop Environment
|
|
||||||
*
|
|
||||||
* Copyright (c) 1993-2012, The Open Group. All rights reserved.
|
|
||||||
*
|
|
||||||
* These libraries and programs are free software; you can
|
|
||||||
* redistribute them and/or modify them under the terms of the GNU
|
|
||||||
* Lesser General Public License as published by the Free Software
|
|
||||||
* Foundation; either version 2 of the License, or (at your option)
|
|
||||||
* any later version.
|
|
||||||
*
|
|
||||||
* These libraries and programs are distributed in the hope that
|
|
||||||
* they will be useful, but WITHOUT ANY WARRANTY; without even the
|
|
||||||
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
|
||||||
* PURPOSE. See the GNU Lesser General Public License for more
|
|
||||||
* details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU Lesser General Public
|
|
||||||
* License along with these libraries and programs; if not, write
|
|
||||||
* to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
|
|
||||||
* Floor, Boston, MA 02110-1301 USA
|
|
||||||
*/
|
|
||||||
/* $XConsortium: context.h /main/3 1996/06/19 17:14:30 drk $ */
|
|
||||||
/* context.h */
|
|
||||||
|
|
||||||
#define M pos[0].g /* Index of current token in model. */
|
|
||||||
#ifdef P
|
|
||||||
#undef P
|
|
||||||
#endif
|
|
||||||
#define P pos[0].t /* Index of current group in pos. */
|
|
||||||
#define G pos[P].g /* Index of current group in model. */
|
|
||||||
#define T pos[P].t /* Index of current token in its group. */
|
|
||||||
#define H pos[P].h /* Pointer to hit bits for current group. */
|
|
||||||
#define GHDR mod[G] /* Current group header. */
|
|
||||||
#define TOKEN mod[M] /* Current token. */
|
|
||||||
#define TTYPE (GET(TOKEN.ttype, TTMASK)) /* Token type of current token. */
|
|
||||||
#define TOCC (GET(TOKEN.ttype, TOREP)) /* Occurrence for current token. */
|
|
||||||
#define GTYPE (GET(GHDR.ttype, TTMASK)) /* Token type of current group. */
|
|
||||||
#define GOCC (GET(GHDR.ttype, TOREP)) /* Occurrence for current group. */
|
|
||||||
#define GNUM GHDR.tu.tnum /* Number of tokens in current grp. */
|
|
|
@ -1,95 +0,0 @@
|
||||||
/* dos.cfg: Configuration file for sgmls on MS-DOS. */
|
|
||||||
|
|
||||||
/* Define this if your compiler supports prototypes. */
|
|
||||||
#define USE_PROTOTYPES 1
|
|
||||||
|
|
||||||
/* Define this if you do not have strerror(). */
|
|
||||||
/* Borland C++ has strerror(), but it adds a newline to the end of the
|
|
||||||
message, so don't use it. */
|
|
||||||
#define STRERROR_MISSING 1
|
|
||||||
|
|
||||||
/* Define this if you have getopt(). */
|
|
||||||
/* #define HAVE_GETOPT 1 */
|
|
||||||
|
|
||||||
#ifndef HAVE_GETOPT
|
|
||||||
/* #define OPTION_CHAR '/' */
|
|
||||||
/* Use MS-DOS (undocumented) system call to get switch character. */
|
|
||||||
#define SWITCHAR 1
|
|
||||||
#define REORDER_ARGS 1
|
|
||||||
/* #define CASE_INSENSITIVE_OPTIONS 1 */
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* A list of filename templates to use for searching for external entities.
|
|
||||||
See sgmls.man for details. */
|
|
||||||
#define DEFAULT_PATH "C:\\SGML\\%N.%X;%N.%X;%N.%D"
|
|
||||||
/* The character that separates the filenames templates. */
|
|
||||||
#define PATH_FILE_SEP ';'
|
|
||||||
/* The character that separates filenames in a system identifier.
|
|
||||||
Usually the same as PATH_FILE_SEP. */
|
|
||||||
#define SYSID_FILE_SEP ';'
|
|
||||||
/* The environment variable that contains the list of filename templates. */
|
|
||||||
#define PATH_ENV_VAR "SGML_PATH"
|
|
||||||
|
|
||||||
/* Define this if open() understands the O_NOINHERIT flag. This tells
|
|
||||||
DOS that subprocesses should not inherit the file descriptor. */
|
|
||||||
#define HAVE_O_NOINHERIT 1
|
|
||||||
|
|
||||||
/* When turning a minimum literal into a filename, each character in
|
|
||||||
MIN_DAT_SUBS_FROM will be replaced by the character at the
|
|
||||||
corresponding position in MIN_DATA_SUBS_TO. If there is no such
|
|
||||||
character, then the character will be stripped. */
|
|
||||||
|
|
||||||
#define MIN_DAT_SUBS_FROM " +,./:=?"
|
|
||||||
#define MIN_DAT_SUBS_TO ""
|
|
||||||
|
|
||||||
/* Define this if you have access(). */
|
|
||||||
#define HAVE_ACCESS 1
|
|
||||||
|
|
||||||
/* Define this if you have <unistd.h>. */
|
|
||||||
/* #define HAVE_UNISTD_H 1 */
|
|
||||||
|
|
||||||
/* Define this if you have a Unix-style <sys/stat.h>. */
|
|
||||||
#define HAVE_SYS_STAT_H 1
|
|
||||||
|
|
||||||
/* Define this to strip an extension off the program name in argv[0],
|
|
||||||
before using it in error messsages. */
|
|
||||||
#define PROG_STRIP_EXTENSION 1
|
|
||||||
|
|
||||||
/* Define this to fold the program name in argv[0] to lower case,
|
|
||||||
before using it in error messsages. */
|
|
||||||
#define PROG_FOLD 1
|
|
||||||
|
|
||||||
/* Before using argv[0] in error messages, strip off everything up to and
|
|
||||||
including the last character in prog that occurs in PROG_PREFIX. */
|
|
||||||
#define PROG_PREFIX "\\/:"
|
|
||||||
|
|
||||||
/* Define this to allow tracing. */
|
|
||||||
/* #define TRACE 1 */
|
|
||||||
|
|
||||||
/* Define this you want support for subdocuments. This is implemented
|
|
||||||
using features that are not part of Standard C. */
|
|
||||||
#define SUPPORT_SUBDOC 1
|
|
||||||
|
|
||||||
/* Define this if your shell does not allow you conveniently to
|
|
||||||
redirect errors to a file. Then sgmls will provide an option (-f)
|
|
||||||
that does this. */
|
|
||||||
#define CANT_REDIRECT_STDERR 1
|
|
||||||
|
|
||||||
typedef void *UNIV; /* Universal (i.e., undefined) pointer type. */
|
|
||||||
typedef void VOID; /* void as a function return type */
|
|
||||||
|
|
||||||
/* If you don't have <limits.h>, define CHAR_SIGNED as 1 or 0
|
|
||||||
according to whether the `char' type is signed. */
|
|
||||||
/* #define CHAR_SIGNED 1 */
|
|
||||||
/* #define CHAR_SIGNED 0 */
|
|
||||||
#ifndef CHAR_SIGNED
|
|
||||||
#include <limits.h>
|
|
||||||
#if CHAR_MIN < 0
|
|
||||||
#define CHAR_SIGNED 1
|
|
||||||
#else
|
|
||||||
#define CHAR_SIGNED 0
|
|
||||||
#endif
|
|
||||||
#endif /* not CHAR_SIGNED */
|
|
||||||
|
|
||||||
/* Assume the system character set is ISO Latin-1. */
|
|
||||||
#include "latin1.h"
|
|
|
@ -1,63 +0,0 @@
|
||||||
/*
|
|
||||||
* CDE - Common Desktop Environment
|
|
||||||
*
|
|
||||||
* Copyright (c) 1993-2012, The Open Group. All rights reserved.
|
|
||||||
*
|
|
||||||
* These libraries and programs are free software; you can
|
|
||||||
* redistribute them and/or modify them under the terms of the GNU
|
|
||||||
* Lesser General Public License as published by the Free Software
|
|
||||||
* Foundation; either version 2 of the License, or (at your option)
|
|
||||||
* any later version.
|
|
||||||
*
|
|
||||||
* These libraries and programs are distributed in the hope that
|
|
||||||
* they will be useful, but WITHOUT ANY WARRANTY; without even the
|
|
||||||
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
|
||||||
* PURPOSE. See the GNU Lesser General Public License for more
|
|
||||||
* details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU Lesser General Public
|
|
||||||
* License along with these libraries and programs; if not, write
|
|
||||||
* to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
|
|
||||||
* Floor, Boston, MA 02110-1301 USA
|
|
||||||
*/
|
|
||||||
/* $XConsortium: dosproc.c /main/3 1996/06/19 17:14:34 drk $ */
|
|
||||||
/* dosproc.c -
|
|
||||||
|
|
||||||
MS-DOS implementation of run_process().
|
|
||||||
|
|
||||||
Written by James Clark (jjc@jclark.com).
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "config.h"
|
|
||||||
|
|
||||||
#ifdef SUPPORT_SUBDOC
|
|
||||||
|
|
||||||
#include "std.h"
|
|
||||||
#include "entity.h"
|
|
||||||
#include "appl.h"
|
|
||||||
|
|
||||||
#include <process.h>
|
|
||||||
|
|
||||||
int run_process(argv)
|
|
||||||
char **argv;
|
|
||||||
{
|
|
||||||
int ret;
|
|
||||||
fflush(stdout);
|
|
||||||
fflush(stderr);
|
|
||||||
ret = spawnvp(P_WAIT, argv[0], argv);
|
|
||||||
if (ret < 0)
|
|
||||||
appl_error(E_EXEC, argv[0], strerror(errno));
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif /* SUPPORT_SUBDOC */
|
|
||||||
|
|
||||||
/*
|
|
||||||
Local Variables:
|
|
||||||
c-indent-level: 5
|
|
||||||
c-continued-statement-offset: 5
|
|
||||||
c-brace-offset: -5
|
|
||||||
c-argdecl-indent: 0
|
|
||||||
c-label-offset: -5
|
|
||||||
End:
|
|
||||||
*/
|
|
|
@ -1,65 +0,0 @@
|
||||||
/*
|
|
||||||
* CDE - Common Desktop Environment
|
|
||||||
*
|
|
||||||
* Copyright (c) 1993-2012, The Open Group. All rights reserved.
|
|
||||||
*
|
|
||||||
* These libraries and programs are free software; you can
|
|
||||||
* redistribute them and/or modify them under the terms of the GNU
|
|
||||||
* Lesser General Public License as published by the Free Software
|
|
||||||
* Foundation; either version 2 of the License, or (at your option)
|
|
||||||
* any later version.
|
|
||||||
*
|
|
||||||
* These libraries and programs are distributed in the hope that
|
|
||||||
* they will be useful, but WITHOUT ANY WARRANTY; without even the
|
|
||||||
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
|
||||||
* PURPOSE. See the GNU Lesser General Public License for more
|
|
||||||
* details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU Lesser General Public
|
|
||||||
* License along with these libraries and programs; if not, write
|
|
||||||
* to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
|
|
||||||
* Floor, Boston, MA 02110-1301 USA
|
|
||||||
*/
|
|
||||||
/* $XConsortium: ebcdic.c /main/3 1996/06/19 17:14:38 drk $ */
|
|
||||||
/* ASCII to EBCDIC (ISO 8859-1 to IBM CP 37v2) table. */
|
|
||||||
/* Contributed by C. M. Sperberg-McQueen <u35395@uicvm.uic.edu>. */
|
|
||||||
|
|
||||||
/* The mapping must be 1 to 1. The positions of *CHAR and *CH in the table
|
|
||||||
must not be changed, although the values in ebcdic.h can be. */
|
|
||||||
|
|
||||||
#include "ebcdic.h"
|
|
||||||
|
|
||||||
unsigned char charset[] = {
|
|
||||||
0, 1, 2, 3, 55, 45, 46, 47,
|
|
||||||
GENRECHAR, TABCHAR, RSCHAR, 11, 12, RECHAR, 14, 15,
|
|
||||||
16, 17, 18, 19, 60, 61, 50, 38,
|
|
||||||
24, 25, EOFCHAR, 39, EOBCHAR, DELCDATA, DELSDATA, DELNONCH,
|
|
||||||
SPCCHAR, 90, 127, 123, 91, 108, 80, 125,
|
|
||||||
77, 93, 92, 78, 107, 96, 75, 97,
|
|
||||||
240, 241, 242, 243, 244, 245, 246, 247,
|
|
||||||
248, 249, 122, 94, 76, 126, 110, 111,
|
|
||||||
124, 193, 194, 195, 196, 197, 198, 199,
|
|
||||||
200, 201, 209, 210, 211, 212, 213, 214,
|
|
||||||
215, 216, 217, 226, 227, 228, 229, 230,
|
|
||||||
231, 232, 233, 173, 224, 189, 176, 109,
|
|
||||||
121, 129, 130, 131, 132, 133, 134, 135,
|
|
||||||
136, 137, 145, 146, 147, 148, 149, 150,
|
|
||||||
151, 152, 153, 162, 163, 164, 165, 166,
|
|
||||||
167, 168, 169, 192, 79, 208, 161, 7,
|
|
||||||
4, 6, 8, 9, 10, 20, 21, 23,
|
|
||||||
26, 27, 32, 33, 34, 35, 36, 40,
|
|
||||||
41, 42, 43, 44, 48, 49, 51, 52,
|
|
||||||
53, 54, 56, 57, 58, 59, 62, 255,
|
|
||||||
65, 170, 74, 177, 159, 178, 106, 181,
|
|
||||||
187, 180, 154, 138, 95, 202, 175, 188,
|
|
||||||
144, 143, 234, 250, 190, 160, 182, 179,
|
|
||||||
157, 218, 155, 139, 183, 184, 185, 171,
|
|
||||||
100, 101, 98, 102, 99, 103, 158, 104,
|
|
||||||
116, 113, 114, 115, 120, 117, 118, 119,
|
|
||||||
172, 105, 237, 238, 235, 239, 236, 191,
|
|
||||||
128, 253, 254, 251, 252, 186, 174, 89,
|
|
||||||
68, 69, 66, 70, 67, 71, 156, 72,
|
|
||||||
84, 81, 82, 83, 88, 85, 86, 87,
|
|
||||||
140, 73, 205, 206, 203, 207, 204, 225,
|
|
||||||
112, 221, 222, 219, 220, 141, 142, 223,
|
|
||||||
};
|
|
|
@ -1,63 +0,0 @@
|
||||||
/*
|
|
||||||
* CDE - Common Desktop Environment
|
|
||||||
*
|
|
||||||
* Copyright (c) 1993-2012, The Open Group. All rights reserved.
|
|
||||||
*
|
|
||||||
* These libraries and programs are free software; you can
|
|
||||||
* redistribute them and/or modify them under the terms of the GNU
|
|
||||||
* Lesser General Public License as published by the Free Software
|
|
||||||
* Foundation; either version 2 of the License, or (at your option)
|
|
||||||
* any later version.
|
|
||||||
*
|
|
||||||
* These libraries and programs are distributed in the hope that
|
|
||||||
* they will be useful, but WITHOUT ANY WARRANTY; without even the
|
|
||||||
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
|
||||||
* PURPOSE. See the GNU Lesser General Public License for more
|
|
||||||
* details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU Lesser General Public
|
|
||||||
* License along with these libraries and programs; if not, write
|
|
||||||
* to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
|
|
||||||
* Floor, Boston, MA 02110-1301 USA
|
|
||||||
*/
|
|
||||||
/* $XConsortium: ebcdic.h /main/3 1996/06/19 17:14:42 drk $ */
|
|
||||||
/* SGML Character Use: EBCDIC
|
|
||||||
*/
|
|
||||||
|
|
||||||
#define EOFCHAR '\077' /* FUNCTION: EE (entity end: files). */
|
|
||||||
#define EOBCHAR '\034' /* NONCHAR: EOB (file entity: end of buffer. */
|
|
||||||
#define RSCHAR '\045' /* FUNCTION: RS (record start). */
|
|
||||||
#define RECHAR '\015' /* FUNCTION: RE (record end). */
|
|
||||||
#define TABCHAR '\005' /* FUNCTION: TAB (horizontal tab). */
|
|
||||||
#define SPCCHAR '\100' /* FUNCTION: SPACE (horizontal space). */
|
|
||||||
#define GENRECHAR '\026' /* NONCHAR: Generated RE. */
|
|
||||||
#define DELCDATA '\035' /* NONCHAR: Delimiter for CDATA entity in
|
|
||||||
attribute value. */
|
|
||||||
#define DELSDATA '\036' /* NONCHAR: Delimiter for SDATA entity in
|
|
||||||
attribute value. */
|
|
||||||
#define DELNONCH '\037' /* NONCHAR: non-SGML character prefix. */
|
|
||||||
|
|
||||||
/* This should work for EBCDIC. See comment in latin1.h. */
|
|
||||||
#define SHIFTNON(ch) ((UNCH)(ch) | 0200)
|
|
||||||
#define UNSHIFTNON(ch) ((UNCH)(ch) & ~0200)
|
|
||||||
|
|
||||||
/* See comment in latin1.h. */
|
|
||||||
#define CANON_NONSGML 255
|
|
||||||
|
|
||||||
/* See comment in latin1.h. */
|
|
||||||
#define CANON_DATACHAR 254
|
|
||||||
|
|
||||||
/* Components for a formal public identifier for the whole of the
|
|
||||||
system character set. Protect with ifndef so that it can be overriden
|
|
||||||
in config.h. */
|
|
||||||
|
|
||||||
/* Use a private escape sequence. */
|
|
||||||
#ifndef SYSTEM_CHARSET_DESIGNATING_SEQUENCE
|
|
||||||
#define SYSTEM_CHARSET_DESIGNATING_SEQUENCE "ESC 2/5 2/15 3/0"
|
|
||||||
#endif
|
|
||||||
#ifndef SYSTEM_CHARSET_OWNER
|
|
||||||
#define SYSTEM_CHARSET_OWNER "-//IBM"
|
|
||||||
#endif
|
|
||||||
#ifndef SYSTEM_CHARSET_DESCRIPTION
|
|
||||||
#define SYSTEM_CHARSET_DESCRIPTION "Code Page 1047"
|
|
||||||
#endif
|
|
|
@ -1,428 +0,0 @@
|
||||||
/*
|
|
||||||
* CDE - Common Desktop Environment
|
|
||||||
*
|
|
||||||
* Copyright (c) 1993-2012, The Open Group. All rights reserved.
|
|
||||||
*
|
|
||||||
* These libraries and programs are free software; you can
|
|
||||||
* redistribute them and/or modify them under the terms of the GNU
|
|
||||||
* Lesser General Public License as published by the Free Software
|
|
||||||
* Foundation; either version 2 of the License, or (at your option)
|
|
||||||
* any later version.
|
|
||||||
*
|
|
||||||
* These libraries and programs are distributed in the hope that
|
|
||||||
* they will be useful, but WITHOUT ANY WARRANTY; without even the
|
|
||||||
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
|
||||||
* PURPOSE. See the GNU Lesser General Public License for more
|
|
||||||
* details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU Lesser General Public
|
|
||||||
* License along with these libraries and programs; if not, write
|
|
||||||
* to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
|
|
||||||
* Floor, Boston, MA 02110-1301 USA
|
|
||||||
*/
|
|
||||||
/* $XConsortium: entgen.c /main/3 1996/06/19 17:14:46 drk $ */
|
|
||||||
/* entgen.c -
|
|
||||||
|
|
||||||
Implement entgen() which generates a list of filenames from a struct fpi.
|
|
||||||
|
|
||||||
Written by James Clark (jjc@jclark.com).
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "config.h"
|
|
||||||
|
|
||||||
#ifdef HAVE_ACCESS
|
|
||||||
|
|
||||||
#ifdef HAVE_UNISTD_H
|
|
||||||
#include <unistd.h> /* For R_OK. */
|
|
||||||
#endif /* HAVE_UNISTD_H */
|
|
||||||
|
|
||||||
#ifndef R_OK
|
|
||||||
#define R_OK 4
|
|
||||||
#endif /* not R_OK */
|
|
||||||
|
|
||||||
#endif /* HAVE_ACCESS */
|
|
||||||
|
|
||||||
#include "sgmlaux.h"
|
|
||||||
|
|
||||||
/* Environment variable that contains path. */
|
|
||||||
#ifndef PATH_ENV_VAR
|
|
||||||
#define PATH_ENV_VAR "SGML_PATH"
|
|
||||||
#endif
|
|
||||||
/* Default search path. See field() for interpretation of %*. */
|
|
||||||
#ifndef DEFAULT_PATH
|
|
||||||
#define DEFAULT_PATH "/usr/local/lib/sgml/%O/%C/%T:%N.%X:%N.%D"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef PATH_FILE_SEP
|
|
||||||
#define PATH_FILE_SEP ':'
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef SYSID_FILE_SEP
|
|
||||||
#define SYSID_FILE_SEP ':'
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* This says: change space to underscore, slash to percent. */
|
|
||||||
|
|
||||||
#ifndef MIN_DAT_SUBS_FROM
|
|
||||||
#define MIN_DAT_SUBS_FROM " /"
|
|
||||||
#endif
|
|
||||||
#ifndef MIN_DAT_SUBS_TO
|
|
||||||
#define MIN_DAT_SUBS_TO "_%"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
static int field P((struct fpi *, int, char *));
|
|
||||||
static int mindatcpy P((char *, char *, int, int));
|
|
||||||
static int testopen P((char *));
|
|
||||||
static UNIV sysidgen P((char *));
|
|
||||||
|
|
||||||
static char *path = 0;
|
|
||||||
|
|
||||||
/* Non-zero if searching should be performed when a system identifier
|
|
||||||
is specified. */
|
|
||||||
static int sysidsrch = 0;
|
|
||||||
|
|
||||||
#define EMPTY_VERSION "default"
|
|
||||||
|
|
||||||
static char *classes[] = {
|
|
||||||
"capacity",
|
|
||||||
"charset",
|
|
||||||
"notation",
|
|
||||||
"syntax",
|
|
||||||
"document",
|
|
||||||
"dtd",
|
|
||||||
"elements",
|
|
||||||
"entities",
|
|
||||||
"lpd",
|
|
||||||
"nonsgml",
|
|
||||||
"shortref",
|
|
||||||
"subdoc",
|
|
||||||
"text"
|
|
||||||
};
|
|
||||||
|
|
||||||
/* This is mainly for compatibility with arcsgml. */
|
|
||||||
|
|
||||||
static char *genext[] = {
|
|
||||||
"nsd", /* Non-SGML data entity. */
|
|
||||||
"gml", /* GML document or text entity. */
|
|
||||||
"spe", /* System parameter entity. */
|
|
||||||
"dtd", /* Document type definition. */
|
|
||||||
"lpd", /* Link process definition. */
|
|
||||||
"pns", /* Public non-SGML data entity. */
|
|
||||||
"pge", /* Public general entity. */
|
|
||||||
"ppe", /* Public parameter entity. */
|
|
||||||
"pdt", /* Public document type definition. */
|
|
||||||
"plp", /* Public link process definition. */
|
|
||||||
"vns", /* Display version non-SGML data entity. */
|
|
||||||
"vge", /* Display version general entity. */
|
|
||||||
"vpe", /* Display version parameter entity. */
|
|
||||||
"vdt", /* Display version document type definition.*/
|
|
||||||
"vlp", /* Display version link process definition.*/
|
|
||||||
};
|
|
||||||
|
|
||||||
static char *ext[] = {
|
|
||||||
"sgml", /* SGML subdocument */
|
|
||||||
"data", /* Data */
|
|
||||||
"text", /* General text */
|
|
||||||
"parm", /* Parameter entity */
|
|
||||||
"dtd", /* Document type definition */
|
|
||||||
"lpd", /* Link process definition */
|
|
||||||
};
|
|
||||||
|
|
||||||
/* Like memcpy, but substitute, fold to lower case (if fold is
|
|
||||||
non-zero) and null terminate. This is used both for minimum data and
|
|
||||||
for names. If p is NULL, do nothing. Return len. */
|
|
||||||
|
|
||||||
static int mindatcpy(p, q, len, fold)
|
|
||||||
char *p, *q;
|
|
||||||
int len;
|
|
||||||
int fold;
|
|
||||||
{
|
|
||||||
static char subsfrom[] = MIN_DAT_SUBS_FROM;
|
|
||||||
static char substo[] = MIN_DAT_SUBS_TO;
|
|
||||||
int n;
|
|
||||||
|
|
||||||
if (!p)
|
|
||||||
return len;
|
|
||||||
for (n = len; --n >= 0; q++) {
|
|
||||||
char *r = strchr(subsfrom, *q);
|
|
||||||
if (!r) {
|
|
||||||
if (fold && ISASCII(*q) && isupper((UNCH)*q))
|
|
||||||
*p++ = tolower((UNCH)*q);
|
|
||||||
else
|
|
||||||
*p++ = *q;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
int i = r - subsfrom;
|
|
||||||
if (i < sizeof(substo) - 1)
|
|
||||||
*p++ = substo[i];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
*p = '\0';
|
|
||||||
return len;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* Return length of field. Copy into buf if non-NULL. */
|
|
||||||
|
|
||||||
static int field(f, c, buf)
|
|
||||||
struct fpi *f;
|
|
||||||
int c;
|
|
||||||
char *buf;
|
|
||||||
{
|
|
||||||
int n;
|
|
||||||
|
|
||||||
switch (c) {
|
|
||||||
case '%':
|
|
||||||
if (buf) {
|
|
||||||
buf[0] = '%';
|
|
||||||
buf[1] = '\0';
|
|
||||||
}
|
|
||||||
return 1;
|
|
||||||
case 'N': /* the entity, document or dcn name */
|
|
||||||
return mindatcpy(buf, (char *)f->fpinm, ustrlen(f->fpinm),
|
|
||||||
(f->fpistore != 1 && f->fpistore != 2 && f->fpistore != 3
|
|
||||||
? NAMECASE
|
|
||||||
: ENTCASE));
|
|
||||||
case 'D': /* dcn name */
|
|
||||||
if (f->fpistore != 1) /* not a external data entity */
|
|
||||||
return -1;
|
|
||||||
if (f->fpinedcn == 0) /* it's a SUBDOC */
|
|
||||||
return -1;
|
|
||||||
return mindatcpy(buf, (char *)f->fpinedcn, ustrlen(f->fpinedcn),
|
|
||||||
NAMECASE);
|
|
||||||
case 'X':
|
|
||||||
/* This is for compatibility with arcsgml */
|
|
||||||
if (f->fpistore < 1 || f->fpistore > 5)
|
|
||||||
return -1;
|
|
||||||
n = (f->fpipubis != 0)*(f->fpiversw > 0 ? 2 : 1)*5+f->fpistore - 1;
|
|
||||||
if (buf)
|
|
||||||
strcpy(buf, genext[n]);
|
|
||||||
return strlen(genext[n]);
|
|
||||||
case 'Y': /* tYpe */
|
|
||||||
n = f->fpistore;
|
|
||||||
if (n < 1 || n > 5)
|
|
||||||
return -1;
|
|
||||||
if (n == 1 && f->fpinedcn == 0) /* it's a SUBDOC */
|
|
||||||
n = 0;
|
|
||||||
if (buf)
|
|
||||||
strcpy(buf, ext[n]);
|
|
||||||
return strlen(ext[n]);
|
|
||||||
case 'P': /* public identifier */
|
|
||||||
if (!f->fpipubis)
|
|
||||||
return -1;
|
|
||||||
return mindatcpy(buf, (char *)f->fpipubis, ustrlen(f->fpipubis), 0);
|
|
||||||
case 'S': /* system identifier */
|
|
||||||
if (!f->fpisysis)
|
|
||||||
return -1;
|
|
||||||
else {
|
|
||||||
UNCH *p;
|
|
||||||
n = 0;
|
|
||||||
for (p = f->fpisysis; *p; p++)
|
|
||||||
if (*p != RSCHAR) {
|
|
||||||
if (buf)
|
|
||||||
buf[n] = *p == RECHAR ? '\n' : *p;
|
|
||||||
n++;
|
|
||||||
}
|
|
||||||
return n;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
/* Other fields need a formal public identifier. */
|
|
||||||
/* return -1 if the formal public identifier was invalid or missing. */
|
|
||||||
if (f->fpiversw < 0 || !f->fpipubis)
|
|
||||||
return -1;
|
|
||||||
|
|
||||||
switch (c) {
|
|
||||||
case 'A': /* Is it available? */
|
|
||||||
return f->fpitt == '+' ? 0 : -1;
|
|
||||||
case 'I': /* Is it ISO? */
|
|
||||||
return f->fpiot == '!' ? 0 : -1;
|
|
||||||
case 'R': /* Is it registered? */
|
|
||||||
return f->fpiot == '+' ? 0 : -1;
|
|
||||||
case 'U': /* Is it unregistered? */
|
|
||||||
return f->fpiot == '-' ? 0 : -1;
|
|
||||||
case 'L': /* public text language */
|
|
||||||
if (f->fpic == FPICHARS)
|
|
||||||
return -1;
|
|
||||||
/* it's entered in all upper case letters */
|
|
||||||
return mindatcpy(buf, (char *)f->fpipubis + f->fpil, f->fpill, 1);
|
|
||||||
case 'O': /* owner identifier */
|
|
||||||
return mindatcpy(buf, (char *)f->fpipubis + f->fpio, f->fpiol, 0);
|
|
||||||
case 'C': /* public text class */
|
|
||||||
n = f->fpic - 1;
|
|
||||||
if (n < 0 || n >= sizeof(classes)/sizeof(classes[0]))
|
|
||||||
return -1;
|
|
||||||
if (buf)
|
|
||||||
strcpy(buf, classes[n]);
|
|
||||||
return strlen(classes[n]);
|
|
||||||
case 'T': /* text description */
|
|
||||||
return mindatcpy(buf, (char *)f->fpipubis + f->fpit, f->fpitl, 0);
|
|
||||||
case 'V':
|
|
||||||
if (f->fpic < FPICMINV) /* class doesn't have version */
|
|
||||||
return -1;
|
|
||||||
if (f->fpiversw > 0) /* no version */
|
|
||||||
return -1;
|
|
||||||
if (f->fpivl == 0) { /* empty version: */
|
|
||||||
/* use device-independent version*/
|
|
||||||
if (buf)
|
|
||||||
strcpy(buf, EMPTY_VERSION);
|
|
||||||
return strlen(EMPTY_VERSION);
|
|
||||||
}
|
|
||||||
return mindatcpy(buf, (char *)f->fpipubis + f->fpiv, f->fpivl, 0);
|
|
||||||
case 'E': /* public text designating (escape) sequence */
|
|
||||||
if (f->fpic != FPICHARS)
|
|
||||||
return -1;
|
|
||||||
return mindatcpy(buf, (char *)f->fpipubis + f->fpil, f->fpill, 0);
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
static int testopen(pathname)
|
|
||||||
char *pathname;
|
|
||||||
{
|
|
||||||
#ifdef HAVE_ACCESS
|
|
||||||
return access(pathname, R_OK) >= 0;
|
|
||||||
#else /* not HAVE_ACCESS */
|
|
||||||
FILE *fp;
|
|
||||||
fp = fopen(pathname, "r");
|
|
||||||
if (!fp)
|
|
||||||
return 0;
|
|
||||||
fclose(fp);
|
|
||||||
return 1;
|
|
||||||
#endif /* not HAVE_ACCESS */
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Return a pointer to an dynamically-allocated buffer that contains
|
|
||||||
the names of the files containing this entity, with each filename
|
|
||||||
terminated by a '\0', and with the list of filenames terminated by
|
|
||||||
another '\0'. */
|
|
||||||
|
|
||||||
UNIV entgen(f)
|
|
||||||
struct fpi *f;
|
|
||||||
{
|
|
||||||
char *file;
|
|
||||||
|
|
||||||
assert(f->fpistore != 6); /* Musn't call entgen for a notation. */
|
|
||||||
if (!path) {
|
|
||||||
char *p;
|
|
||||||
char c;
|
|
||||||
path = getenv(PATH_ENV_VAR);
|
|
||||||
if (!path)
|
|
||||||
path = DEFAULT_PATH;
|
|
||||||
p = path;
|
|
||||||
|
|
||||||
/* Only search for system identifiers if path uses %S. */
|
|
||||||
while ((c = *p++) != '\0')
|
|
||||||
if (c == '%') {
|
|
||||||
if (*p == 'S') {
|
|
||||||
sysidsrch = 1;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
if (*p != '\0' && *p != PATH_FILE_SEP)
|
|
||||||
p++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (f->fpisysis
|
|
||||||
&& (!sysidsrch
|
|
||||||
|| strchr((char *)f->fpisysis, SYSID_FILE_SEP)
|
|
||||||
|| strcmp((char *)f->fpisysis, STDINNAME) == 0))
|
|
||||||
return sysidgen((char *)f->fpisysis);
|
|
||||||
|
|
||||||
file = path;
|
|
||||||
|
|
||||||
for (;;) {
|
|
||||||
char *p;
|
|
||||||
int len = 0;
|
|
||||||
char *fileend = strchr(file, PATH_FILE_SEP);
|
|
||||||
if (!fileend)
|
|
||||||
fileend = strchr(file, '\0');
|
|
||||||
|
|
||||||
/* Check that all substitutions are non-null, and calculate
|
|
||||||
the resulting total length of the filename. */
|
|
||||||
for (p = file; p < fileend; p++)
|
|
||||||
if (*p == '%') {
|
|
||||||
int n;
|
|
||||||
/* Set len to -1 if a substitution is invalid. */
|
|
||||||
if (++p >= fileend) {
|
|
||||||
len = -1;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
n = field(f, *p, (char *)0);
|
|
||||||
if (n < 0) {
|
|
||||||
len = -1;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
len += n;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
len++;
|
|
||||||
|
|
||||||
if (len > 0) {
|
|
||||||
/* We've got a valid non-empty filename. */
|
|
||||||
char *s;
|
|
||||||
char *buf;
|
|
||||||
|
|
||||||
s = buf = (char *)rmalloc(len + 2);
|
|
||||||
for (p = file; p < fileend; p++)
|
|
||||||
if (*p == '%')
|
|
||||||
s += field(f, *++p, s);
|
|
||||||
else
|
|
||||||
*s++ = *p;
|
|
||||||
*s++ = '\0';
|
|
||||||
if (testopen(buf)) {
|
|
||||||
/* Terminate the array of filenames. */
|
|
||||||
*s++ = '\0';
|
|
||||||
return buf;
|
|
||||||
}
|
|
||||||
free((UNIV)buf);
|
|
||||||
}
|
|
||||||
if (*fileend == '\0')
|
|
||||||
break;
|
|
||||||
file = ++fileend;
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Handle a system identifier without searching. */
|
|
||||||
|
|
||||||
static
|
|
||||||
UNIV sysidgen(s)
|
|
||||||
char *s;
|
|
||||||
{
|
|
||||||
char *buf, *p;
|
|
||||||
|
|
||||||
buf = (char *)rmalloc(strlen(s) + 2);
|
|
||||||
|
|
||||||
for (p = buf; *s; s++) {
|
|
||||||
if (*s == SYSID_FILE_SEP) {
|
|
||||||
if (p > buf && p[-1] != '\0')
|
|
||||||
*p++ = '\0';
|
|
||||||
}
|
|
||||||
else if (*s == RECHAR)
|
|
||||||
*p++ = '\n';
|
|
||||||
else if (*s != RSCHAR)
|
|
||||||
*p++ = *s;
|
|
||||||
}
|
|
||||||
/* Terminate this filename. */
|
|
||||||
if (p > buf && p[-1] != '\0')
|
|
||||||
*p++ = '\0';
|
|
||||||
if (p == buf) {
|
|
||||||
/* No filenames. */
|
|
||||||
frem((UNIV)buf);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
/* Terminate the list. */
|
|
||||||
*p++ = '\0';
|
|
||||||
return buf;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
Local Variables:
|
|
||||||
c-indent-level: 5
|
|
||||||
c-continued-statement-offset: 5
|
|
||||||
c-brace-offset: -5
|
|
||||||
c-argdecl-indent: 0
|
|
||||||
c-label-offset: -5
|
|
||||||
End:
|
|
||||||
*/
|
|
|
@ -1,212 +0,0 @@
|
||||||
/*
|
|
||||||
* CDE - Common Desktop Environment
|
|
||||||
*
|
|
||||||
* Copyright (c) 1993-2012, The Open Group. All rights reserved.
|
|
||||||
*
|
|
||||||
* These libraries and programs are free software; you can
|
|
||||||
* redistribute them and/or modify them under the terms of the GNU
|
|
||||||
* Lesser General Public License as published by the Free Software
|
|
||||||
* Foundation; either version 2 of the License, or (at your option)
|
|
||||||
* any later version.
|
|
||||||
*
|
|
||||||
* These libraries and programs are distributed in the hope that
|
|
||||||
* they will be useful, but WITHOUT ANY WARRANTY; without even the
|
|
||||||
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
|
||||||
* PURPOSE. See the GNU Lesser General Public License for more
|
|
||||||
* details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU Lesser General Public
|
|
||||||
* License along with these libraries and programs; if not, write
|
|
||||||
* to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
|
|
||||||
* Floor, Boston, MA 02110-1301 USA
|
|
||||||
*/
|
|
||||||
/* $XConsortium: entity.h /main/3 1996/06/19 17:14:51 drk $ */
|
|
||||||
/* Struct dcncb: attribute list added to support data attributes. */
|
|
||||||
#ifndef ENTITY_H /* Don't include this file more than once. */
|
|
||||||
#define ENTITY_H
|
|
||||||
/* ENTITY.H: Definitions and control block templates for entity management.
|
|
||||||
*/
|
|
||||||
#include "tools.h" /* Definitions for type declarations, etc. */
|
|
||||||
#include "msgcat.h"
|
|
||||||
|
|
||||||
#define STDINNAME "-" /* File name that refers to standard input. */
|
|
||||||
|
|
||||||
#define EOS '\0' /* NONCHAR: EE (entity end: strings). */
|
|
||||||
|
|
||||||
#define AVALCASE 2 /* 2=untranslated string of name characters. */
|
|
||||||
|
|
||||||
#define REFNAMELEN 8 /* reference quantity set NAMELEN */
|
|
||||||
#define REFLITLEN 240 /* reference quantity set LITLEN */
|
|
||||||
|
|
||||||
/* Minimization status of returned tags.
|
|
||||||
*/
|
|
||||||
#define MINNONE 0 /* Minimization: tag not minimized. */
|
|
||||||
#define MINNULL 1 /* Minimization: tag was null. */
|
|
||||||
#define MINNET 2 /* Minimization: end-tag was NET delimiter. */
|
|
||||||
#define MINDATA 3 /* Minimization: end-tag was data tag. */
|
|
||||||
#define MINSTAG 4 /* Minimization: tag implied by start-tag. */
|
|
||||||
#define MINETAG 5 /* Minimization: end-tag implied by end-tag. */
|
|
||||||
|
|
||||||
/* Formal public identifier public text classes.
|
|
||||||
*/
|
|
||||||
#define FPICAP 1
|
|
||||||
#define FPICHARS 2
|
|
||||||
#define FPINOT 3
|
|
||||||
#define FPISYN 4
|
|
||||||
#define FPICMINV 5 /* Minimum fpic value for versionable text. */
|
|
||||||
#define FPIDOC 5
|
|
||||||
#define FPIDTD 6
|
|
||||||
#define FPIELEM 7
|
|
||||||
#define FPIENT 8
|
|
||||||
#define FPILPD 9
|
|
||||||
#define FPINON 10
|
|
||||||
#define FPISHORT 11
|
|
||||||
#define FPISUB 12
|
|
||||||
#define FPITEXT 13
|
|
||||||
struct fpi { /* Formal public identifier. */
|
|
||||||
UNCH fpiot; /* Owner type: + or - or ! (for ISO). */
|
|
||||||
UNS fpiol; /* Length of owner identifier. */
|
|
||||||
UNS fpio; /* Offset in pubis of owner identifier (no EOS).*/
|
|
||||||
int fpic; /* Public text class. */
|
|
||||||
UNCH fpitt; /* Text type: - or + (for available). */
|
|
||||||
UNS fpitl; /* Length of text identifier. */
|
|
||||||
UNS fpit; /* Offset in pubis of text identifier (no EOS). */
|
|
||||||
UNS fpill; /* Language/designating sequence length. */
|
|
||||||
UNS fpil; /* Offset in pubis of language. */
|
|
||||||
UNS fpivl; /* Length of display version . */
|
|
||||||
UNS fpiv; /* Offset in pubis of display version (no EOS). */
|
|
||||||
int fpiversw; /* 1=use best ver; 0=use stated ver; -1=error. */
|
|
||||||
UNCH *fpinm; /* Entity/DCN name (EOS, no length). */
|
|
||||||
UNCH fpistore; /* 1=NDATA 2=general 3=parm 4=DTD 5=LPD 6=DCN. */
|
|
||||||
/* Name of the entity's DCN. Valid only when fpistore == 1.
|
|
||||||
NULL if it's a SUBDOC. */
|
|
||||||
UNCH *fpinedcn;
|
|
||||||
UNCH *fpipubis; /* Public ID string (EOS). */
|
|
||||||
UNCH *fpisysis; /* System ID string (EOS). */
|
|
||||||
};
|
|
||||||
#define FPISZ sizeof(struct fpi)
|
|
||||||
typedef struct fpi *PFPI; /* Ptr to FPI control block. */
|
|
||||||
|
|
||||||
/* General control blocks.
|
|
||||||
*/
|
|
||||||
#define NONONCH 1 /* Character references to non-chars invalid. */
|
|
||||||
#define OKNONCH 0 /* Character references to non-chars allowed. */
|
|
||||||
struct parse { /* Parse control block. */
|
|
||||||
char *pname; /* Parse name; content, tag, etc. */
|
|
||||||
UNCH *plex; /* Lexical analysis table. */
|
|
||||||
UNCH **ptab; /* State and action table. */
|
|
||||||
UNS state; /* State. */
|
|
||||||
UNS input; /* Input. */
|
|
||||||
UNS action; /* Action. */
|
|
||||||
UNS newstate; /* Next state. */
|
|
||||||
};
|
|
||||||
struct restate {
|
|
||||||
UNS sstate; /* State. */
|
|
||||||
UNS sinput; /* Input. */
|
|
||||||
UNS saction; /* Action. */
|
|
||||||
UNS snext; /* Next state. */
|
|
||||||
};
|
|
||||||
struct map {
|
|
||||||
UNCH *mapnm; /* Name followed by EOS. */
|
|
||||||
int mapdata; /* Data associated with that name. */
|
|
||||||
};
|
|
||||||
struct hash { /* Dummy structure for function arguments. */
|
|
||||||
struct hash *enext; /* Next entry in chain. */
|
|
||||||
UNCH *ename; /* Entry name with size and EOS. */
|
|
||||||
};
|
|
||||||
typedef struct hash *PHASH; /* Ptr to hash table entry. */
|
|
||||||
typedef struct hash **THASH; /* Ptr to hash table. */
|
|
||||||
|
|
||||||
struct fwdref { /* A forward id reference. */
|
|
||||||
struct fwdref *next; /* Pt to next reference in chain. */
|
|
||||||
UNIV msg; /* Ptr to saved error messsage. */
|
|
||||||
};
|
|
||||||
#define FWDREFSZ sizeof(struct fwdref)
|
|
||||||
|
|
||||||
struct dcncb { /* Data content notation control block. */
|
|
||||||
struct dcncb *enext; /* Next DCN in chain. */
|
|
||||||
UNCH *ename; /* Notation name followed by EOS. */
|
|
||||||
UNCH mark; /* For use by application. */
|
|
||||||
UNCH entsw; /* Entity defined with this notation? */
|
|
||||||
UNCH defined; /* Has this notation been defined. */
|
|
||||||
UNCH *sysid; /* System identifier of notation. */
|
|
||||||
UNCH *pubid; /* Public identifier of notation. */
|
|
||||||
struct ad *adl; /* Data attribute list (NULL if none). */
|
|
||||||
};
|
|
||||||
#define DCBSZ sizeof(struct dcncb)
|
|
||||||
#define DCNMARK(p) ((p)->mark ? 1 : ((p)->mark = 1, 0))
|
|
||||||
|
|
||||||
typedef struct dcncb *PDCB; /* Ptr to DCN control block. */
|
|
||||||
|
|
||||||
/* Number of capacities in a capacity set. */
|
|
||||||
|
|
||||||
#define NCAPACITY 17
|
|
||||||
|
|
||||||
struct sgmlcap {
|
|
||||||
char **name;
|
|
||||||
UNCH *points;
|
|
||||||
long *number;
|
|
||||||
long *limit;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct sgmlstat { /* Document statistics. */
|
|
||||||
UNS dcncnt; /* Number of data content notations defined. */
|
|
||||||
UNS pmexgcnt; /* Number of plus or minus exception groups. */
|
|
||||||
UNS etdcnt; /* Number of element types declared. */
|
|
||||||
UNS etdercnt; /* Number of element types defined by default. */
|
|
||||||
UNS pmexcnt; /* Number of plus/minus exception grp members. */
|
|
||||||
UNS modcnt; /* Number of content model tokens defined. */
|
|
||||||
UNS attcnt; /* Number of attributes defined. */
|
|
||||||
UNS attdef; /* Characters of attribute defaults defined. */
|
|
||||||
UNS attgcnt; /* Number of att value grp members (incl dcn). */
|
|
||||||
UNS idcnt; /* Number of ID attributes specified. */
|
|
||||||
UNS idrcnt; /* Number of ID references specified. */
|
|
||||||
UNS ecbcnt; /* Number of entities declared. */
|
|
||||||
UNS ecbtext; /* Characters of entity text defined. */
|
|
||||||
UNS srcnt; /* Number of short reference tables defined. */
|
|
||||||
UNS dcntext; /* Characters of notation identifiers defined. */
|
|
||||||
};
|
|
||||||
struct switches { /* Parser control switches (1=non-standard). */
|
|
||||||
int swdupent; /* 1=msg if duplicate ENTITY def attempted;0=no.*/
|
|
||||||
int swcommnt; /* 1=return comment declarations as data; 0=no. */
|
|
||||||
int swrefmsg; /* 1=msg if undeclared ref is defaulted; 0=no. */
|
|
||||||
UNS swbufsz; /* Size of source file buffer for READ(). */
|
|
||||||
int swenttr; /* 1=trace entity stack in error messages; 0=no.*/
|
|
||||||
int sweltr; /* 1=trace element stack in error messages; 0=no. */
|
|
||||||
int swambig; /* 1=check content model ambiguity */
|
|
||||||
int swundef; /* 1=warn about undefined elements and notations. */
|
|
||||||
char *prog; /* Program name for error messages. */
|
|
||||||
#ifdef TRACE
|
|
||||||
char *trace; /* What to trace in the body. */
|
|
||||||
char *ptrace; /* What to trace in the prolog. */
|
|
||||||
#endif /* TRACE */
|
|
||||||
nl_catd catd; /* Message catalog descriptor. */
|
|
||||||
long nopen; /* Number of open document entities */
|
|
||||||
int onlypro; /* Parse only the prolog. */
|
|
||||||
char **includes; /* List of parameter entities to be defined
|
|
||||||
as "INCLUDE"; NULL terminated.*/
|
|
||||||
VOID (*die) P((void)); /* Function to call on fatal error. */
|
|
||||||
};
|
|
||||||
struct markup { /* Delimiter strings for text processor. */
|
|
||||||
UNCH *cro; /* LEXCON markup string: CRO */
|
|
||||||
UNCH *dso; /* LEXCON markup string: DSO */
|
|
||||||
UNCH *ero; /* LEXCON markup string: ERO */
|
|
||||||
UNCH *etag; /* LEXMARK markup string: end-tag */
|
|
||||||
UNCH *lit; /* LEXMARK markup string: LIT */
|
|
||||||
UNCH *lita; /* LEXMARK markup string: LITA */
|
|
||||||
UNCH *mdc; /* LEXCON markup string: MDC */
|
|
||||||
UNCH *mdo; /* LEXCON markup string: MDO */
|
|
||||||
UNCH *mse; /* LEXCON markup string: mse */
|
|
||||||
UNCH *mss; /* LEXCON markup string: mss */
|
|
||||||
UNCH *mssc; /* LEXCON markup string: mss CDATA */
|
|
||||||
UNCH *mssr; /* LEXCON markup string: mss RCDATA */
|
|
||||||
UNCH *pic; /* LEXCON markup string: PIC */
|
|
||||||
UNCH *pio; /* LEXCON markup string: PIO */
|
|
||||||
UNCH *refc; /* LEXGRP markup string: REFC */
|
|
||||||
UNCH *stag; /* LEXMARK markup string: start-tag */
|
|
||||||
UNCH *tagc; /* LEXMARK markup string: TAGC */
|
|
||||||
UNCH *vi; /* LEXMARK markup string: VI */
|
|
||||||
int lennet; /* LEXMARK markup string length: null end-tag. */
|
|
||||||
int lennst; /* LEXMARK markup string length: null start-tag.*/
|
|
||||||
};
|
|
||||||
#endif /* ndef ENTITY_H */
|
|
|
@ -1,84 +0,0 @@
|
||||||
/*
|
|
||||||
* CDE - Common Desktop Environment
|
|
||||||
*
|
|
||||||
* Copyright (c) 1993-2012, The Open Group. All rights reserved.
|
|
||||||
*
|
|
||||||
* These libraries and programs are free software; you can
|
|
||||||
* redistribute them and/or modify them under the terms of the GNU
|
|
||||||
* Lesser General Public License as published by the Free Software
|
|
||||||
* Foundation; either version 2 of the License, or (at your option)
|
|
||||||
* any later version.
|
|
||||||
*
|
|
||||||
* These libraries and programs are distributed in the hope that
|
|
||||||
* they will be useful, but WITHOUT ANY WARRANTY; without even the
|
|
||||||
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
|
||||||
* PURPOSE. See the GNU Lesser General Public License for more
|
|
||||||
* details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU Lesser General Public
|
|
||||||
* License along with these libraries and programs; if not, write
|
|
||||||
* to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
|
|
||||||
* Floor, Boston, MA 02110-1301 USA
|
|
||||||
*/
|
|
||||||
/* $XConsortium: error.h /main/3 1996/06/19 17:14:57 drk $ */
|
|
||||||
/* ERROR.H: Symbols for SGML error codes (start with 'E_').
|
|
||||||
Numbers 46 - 56 are generated by ERROR.C.
|
|
||||||
Later numbers are coded directly.
|
|
||||||
*/
|
|
||||||
/* SGMLERR.C: General errors and syntax errors.
|
|
||||||
*/
|
|
||||||
#define E_CONTEXT 1 /* W GI not allowed at this point in structure. */
|
|
||||||
#define E_MDNAME 2 /* E Invalid markup declaration name. */
|
|
||||||
/*efine E_LEN 3 E Syntax error: length exceeded. */
|
|
||||||
#define E_SYS 4 /* W Illegal system character. */
|
|
||||||
#define E_ETAG 5 /* E End-tag does not match any open start-tag. */
|
|
||||||
#define E_STAGMAX 6 /* E Maximum number of open elements exceeded. */
|
|
||||||
/* E_ALLNULL 7 W Start- and end-tag omitted with null content. */
|
|
||||||
#define E_EOF 8 /* E/W Illegal entity end in markup or delimited text. */
|
|
||||||
/* fine E_INV 9 E Markup error: invalid character. */
|
|
||||||
#define E_CHARS 10 /* W Data found in content that doesn't allow it. */
|
|
||||||
/* fine E_NOETDE 11 E End-tag GI not defined by element declaration. */
|
|
||||||
#define E_BADNM 12 /* E Name is not syntactically valid. */
|
|
||||||
#define E_BADATT 13 /* E Attribute was not defined by element declaration. */
|
|
||||||
#define E_VALINV 14 /* W Att value/declaration conflict: invalid char. */
|
|
||||||
#define E_VALLEN 15 /* W Att value/declaration conflict: token too long. */
|
|
||||||
#define E_VALCNT 16 /* W Att value/declaration conflict: too many tokens. */
|
|
||||||
#define E_VALTYPE 17 /* W Att value/declaration conflict: wrong token type.*/
|
|
||||||
#define E_VALGRP 18 /* W Att value/declaration conflict: token not in grp.*/
|
|
||||||
#define E_VALREQ 19 /* W Att value/declaration conflict: req unspecified. */
|
|
||||||
/* E_EMIN 20 W End-tag implied by end-tag; not minimizable. */
|
|
||||||
/* E_SMIN 21 W Omitted start-tag was not minimizable. */
|
|
||||||
#define E_POSSATT 22 /* E Possible att found but not defined; used as data.*/
|
|
||||||
/* Late additions numbered out of order to avoid recompilation. */
|
|
||||||
/*efine E_ENTSYNC 37 E Entity and group nesting levels out of sync. */
|
|
||||||
#define E_BADVAL 25 /* W Att value omitted (null); default used. */
|
|
||||||
/* E_ECONTXT 30 W Element ended prematurely (some content omitted).*/
|
|
||||||
/* E_EMINST 39 W End-tag implied by start-tag; not minimizable. */
|
|
||||||
/* E_MEXTAG 40 W *** In Use *** */
|
|
||||||
#define E_MEXERR 41 /* W Attempt to exclude contextually required element.*/
|
|
||||||
#define E_DOCTYPE 42 /* W No document type defined; *DOCTYPE assumed. */
|
|
||||||
/* E_NOETDS 43 E Start-tag GI not defined by element declaration. */
|
|
||||||
#define E_RESTART 44 /* E Invalid chars ignored; trying to restart parse. */
|
|
||||||
|
|
||||||
/* MDERROR.C: Errors in markup declarations.
|
|
||||||
*/
|
|
||||||
/*efine E_DUP 23 E Duplicate specification. */
|
|
||||||
/*efine E_KEY 24 E Incorrect keyword for parameter. */
|
|
||||||
/*efine E_MSE 26 E MSE occurred with no corresponding MS. */
|
|
||||||
/*efine E_MSS 27 E MSS exceeded maximum nesting level. */
|
|
||||||
/*efine E_NUM 28 E Incorrect number of parameters. */
|
|
||||||
#define E_TYPE 29 /* E Incorrect parameter type. */
|
|
||||||
/* Late additions numbered out of order to avoid recompilation. */
|
|
||||||
/*efine E_VAL 38 W Incorrect parameter value. */
|
|
||||||
|
|
||||||
/* RESERROR.C: Errors in resource routines.
|
|
||||||
*/
|
|
||||||
/* Unused I End of primary source entity. */
|
|
||||||
/* fine E_FILBUF 31 E Could not read next buffer. */
|
|
||||||
/* fine E_ERFILE 32 E Could not open file. */
|
|
||||||
/* fine E_MALLOC 33 T Could not obtain required main storage. */
|
|
||||||
/* fine E_ERMAX 34 E Maximum number of open entities exceeded. */
|
|
||||||
/* fine E_ERNAME 35 E Referenced entity undeclared. */
|
|
||||||
/* fine E_ERLOOP 36 E Entity referenced within itself: ref ignored. */
|
|
||||||
/* Late additions numbered out of order to avoid recompilation. */
|
|
||||||
/* E_ERDEF 45 E Referenced entity undeclared; SYSTEM assumed. */
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue