8
0
mirror of https://github.com/FirebirdSQL/firebird.git synced 2025-01-22 19:23:02 +01:00

A few makefile dependancies fixed.

Started work on upgrading rpm build scripts
Fix makefiles for super build
Exchange editline for readline in isql
This commit is contained in:
skywalker 2002-10-07 01:29:13 +00:00
parent b3619bb360
commit f35570a03b
57 changed files with 3522 additions and 338 deletions

View File

@ -27,7 +27,7 @@
# Contributor(s):
#
#
# $Id: Makefile.in.boot.gpre,v 1.4 2002-09-24 13:01:11 eku Exp $
# $Id: Makefile.in.boot.gpre,v 1.5 2002-10-07 01:29:09 skywalker Exp $
#
ROOT=..
ObjModuleName=boot.gpre
@ -75,6 +75,8 @@ $(GPRE_BOOT): $(GPREBOOT_Objects) $(LIB)/libfbcommon.a
$(LN) $(@F) $(GPRE_CURRENT)
FORCE:
include $(ROOT)/gen/make.shared.targets
-include $(Dependencies)

View File

@ -27,7 +27,7 @@
# Contributor(s):
#
#
# $Id: Makefile.in.client.gbak,v 1.3 2002-09-24 13:01:12 eku Exp $
# $Id: Makefile.in.client.gbak,v 1.4 2002-10-07 01:29:09 skywalker Exp $
#
ROOT=..
@ -72,6 +72,7 @@ $(GSPLIT): $(GSPLIT_Objects) $(LIBFBCLIENT_SO)
$(LD) $(LINK_OPTS) $(GSPLIT_Objects) -o $@ -L$(LIB) -lfbclient $(LINK_LIBS)
FORCE:
include $(ROOT)/gen/make.shared.targets
-include $(Dependencies)

View File

@ -1,5 +1,3 @@
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
@ -29,7 +27,7 @@
# Contributor(s):
#
#
# $Id: Makefile.in.client.gdef,v 1.3 2002-09-24 13:01:12 eku Exp $
# $Id: Makefile.in.client.gdef,v 1.4 2002-10-07 01:29:09 skywalker Exp $
#
ROOT=..
ObjModuleName=client.gdef
@ -68,13 +66,7 @@ $(BIN)/gdef: $(GDEF_Objects) $(LIBFBCLIENT_SO)
include $(ROOT)/gen/make.shared.targets
$(SRC)/exe.cpp $(SRC)/extract.epp: yachts.lnk
yachts.lnk:
ln -fs $(SRC_ROOT)/refDatabases/empty.gdb yachts.lnk
FORCE:
-include $(Dependencies)

View File

@ -1,5 +1,3 @@
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
@ -29,7 +27,7 @@
# Contributor(s):
#
#
# $Id: Makefile.in.client.gfix,v 1.3 2002-09-24 13:01:12 eku Exp $
# $Id: Makefile.in.client.gfix,v 1.4 2002-10-07 01:29:09 skywalker Exp $
#
ROOT=..
ObjModuleName=client.gfix
@ -62,6 +60,6 @@ $(BIN)/gfix: $(GFIX_Objects) $(LIB)/libfbclient.so
$(LD) $(LINK_OPTS) $(GFIX_Objects) -o $@ -L$(LIB) -lfbclient $(LINK_LIBS)
FORCE:
include $(ROOT)/gen/make.shared.targets
-include $(Dependencies)

View File

@ -1,5 +1,3 @@
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
@ -29,7 +27,7 @@
# Contributor(s):
#
#
# $Id: Makefile.in.client.gpre,v 1.3 2002-09-24 13:01:12 eku Exp $
# $Id: Makefile.in.client.gpre,v 1.4 2002-10-07 01:29:09 skywalker Exp $
#
ROOT=..
ObjModuleName=client.gpre
@ -65,6 +63,6 @@ $(BIN)/gpre: $(GPRE_Objects) $(LIB)/libfbclient.so
$(LD) $(LINK_OPTS) $(GPRE_Objects) -o $@ -L$(LIB) -lfbclient $(LINK_LIBS)
FORCE:
include $(ROOT)/gen/make.shared.targets
-include $(Dependencies)

View File

@ -1,5 +1,3 @@
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
@ -29,7 +27,7 @@
# Contributor(s):
#
#
# $Id: Makefile.in.client.isql,v 1.3 2002-09-24 13:01:12 eku Exp $
# $Id: Makefile.in.client.isql,v 1.4 2002-10-07 01:29:09 skywalker Exp $
#
ROOT=..
ObjModuleName=client.isql
@ -65,6 +63,6 @@ $(ISQL): $(ISQL_Objects) $(LIBFBCLIENT_SO)
$(LD) $(LINK_OPTS) $(ISQL_Objects) -o $@ -L$(LIB) -lfbclient $(LINK_LIBS)
FORCE:
include $(ROOT)/gen/make.shared.targets
-include $(Dependencies)

View File

@ -1,5 +1,3 @@
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
@ -29,7 +27,7 @@
# Contributor(s):
#
#
# $Id: Makefile.in.client.util,v 1.3 2002-09-24 13:01:12 eku Exp $
# $Id: Makefile.in.client.util,v 1.4 2002-10-07 01:29:09 skywalker Exp $
#
ROOT=..
ObjModuleName=client.util
@ -142,6 +140,6 @@ rebuild: $(GDS_REBUILD)
$(GDS_REBUILD): $(REBUILD_Objects) $(LIBFBCLIENT_SO)
$(LD) $(LINK_OPTS) $(REBUILD_Objects) -o $@ -L$(LIB) -lfbclient $(LINK_LIBS)
FORCE:
include $(ROOT)/gen/make.shared.targets
-include $(Dependencies)

View File

@ -1,4 +1,3 @@
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
@ -28,7 +27,7 @@
# Contributor(s):
#
#
# $Id: Makefile.in.embed.gbak,v 1.3 2002-09-24 13:01:12 eku Exp $
# $Id: Makefile.in.embed.gbak,v 1.4 2002-10-07 01:29:09 skywalker Exp $
#
ROOT=..
ObjModuleName=embed.gbak
@ -72,7 +71,6 @@ gsplit : $(GSPLIT)
$(GSPLIT): $(GSPLIT_Objects) $(LIBFBEMBED_SO)
$(LD) $(LINK_OPTS) $(GSPLIT_Objects) -o $@ -L$(LIB) -lfbembed $(LINK_LIBS)
FORCE:
include $(ROOT)/gen/make.shared.targets
-include $(Dependencies)

View File

@ -1,5 +1,3 @@
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
@ -29,7 +27,7 @@
# Contributor(s):
#
#
# $Id: Makefile.in.embed.gdef,v 1.3 2002-09-24 13:01:12 eku Exp $
# $Id: Makefile.in.embed.gdef,v 1.4 2002-10-07 01:29:09 skywalker Exp $
#
ROOT=..
ObjModuleName=embed.gdef
@ -67,13 +65,6 @@ $(BIN)/gdef: $(GDEF_Objects) $(LIBFBEMBED_SO)
$(SRC)/exe.cpp $(SRC)/extract.epp: yachts.lnk
yachts.lnk:
ln -fs $(SRC_ROOT)/refDatabases/empty.gdb yachts.lnk
FORCE:
include $(ROOT)/gen/make.shared.targets
-include $(Dependencies)

View File

@ -1,5 +1,3 @@
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
@ -29,7 +27,7 @@
# Contributor(s):
#
#
# $Id: Makefile.in.embed.gfix,v 1.3 2002-09-24 13:01:12 eku Exp $
# $Id: Makefile.in.embed.gfix,v 1.4 2002-10-07 01:29:09 skywalker Exp $
#
ROOT=..
ObjModuleName=embed.gfix
@ -62,6 +60,6 @@ $(BIN)/gfix: $(GFIX_Objects) $(LIB)/libfbembed.so
$(LD) $(LINK_OPTS) $(GFIX_Objects) -o $@ -L$(LIB) -lfbembed $(LINK_LIBS)
FORCE:
include $(ROOT)/gen/make.shared.targets
-include $(Dependencies)

View File

@ -1,5 +1,3 @@
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
@ -29,7 +27,7 @@
# Contributor(s):
#
#
# $Id: Makefile.in.embed.gpre,v 1.3 2002-09-24 13:01:12 eku Exp $
# $Id: Makefile.in.embed.gpre,v 1.4 2002-10-07 01:29:09 skywalker Exp $
#
ROOT=..
ObjModuleName=embed.gpre
@ -63,6 +61,6 @@ $(BIN)/gpre: $(GPRE_Objects) $(LIB)/libfbembed.so
$(LD) $(LINK_OPTS) $(GPRE_Objects) -o $@ -L$(LIB) -lfbembed $(LINK_LIBS)
FORCE:
include $(ROOT)/gen/make.shared.targets
-include $(Dependencies)

View File

@ -1,5 +1,3 @@
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
@ -29,7 +27,7 @@
# Contributor(s):
#
#
# $Id: Makefile.in.embed.isql,v 1.3 2002-09-24 13:01:12 eku Exp $
# $Id: Makefile.in.embed.isql,v 1.4 2002-10-07 01:29:09 skywalker Exp $
#
ROOT=..
ObjModuleName=embed.isql
@ -64,6 +62,6 @@ $(ISQL): $(ISQL_Objects) $(LIBFBEMBED_SO)
$(LD) $(LINK_OPTS) $(ISQL_Objects) -o $@ -L$(LIB) -lfbembed $(LINK_LIBS)
FORCE:
include $(ROOT)/gen/make.shared.targets
-include $(Dependencies)

View File

@ -1,5 +1,3 @@
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
@ -29,7 +27,7 @@
# Contributor(s):
#
#
# $Id: Makefile.in.embed.lockmgr,v 1.2 2002-09-19 15:25:38 skidder Exp $
# $Id: Makefile.in.embed.lockmgr,v 1.3 2002-10-07 01:29:09 skywalker Exp $
#
ROOT=..
ObjModuleName=embed.lockmgr
@ -62,6 +60,6 @@ $(BIN)/gds_lock_mgr: $(LOCKMGR_Objects) $(LIBFBCOMMON_A) $(LIBFBSTATIC_A)
$(CXX) $(LINK_OPTS) $(LOCKMGR_Objects) -o $@ -L $(LIB) -lfbstatic -lfbcommon $(LINK_LIBS)
FORCE:
include $(ROOT)/gen/make.shared.targets
-include $(Dependencies)

View File

@ -1,5 +1,3 @@
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
@ -29,7 +27,7 @@
# Contributor(s):
#
#
# $Id: Makefile.in.embed.qli,v 1.3 2002-09-24 13:01:12 eku Exp $
# $Id: Makefile.in.embed.qli,v 1.4 2002-10-07 01:29:09 skywalker Exp $
#
ROOT=..
ObjModuleName=embed.qli
@ -73,19 +71,8 @@ $(QLI): $(QLI_Objects) $(LIBFBEMBED_SO)
# need to be rebuilt here.
# These need to change to $(GEN_SRC) at some stage
$(SRC)/meta.cpp $(SRC)/proc.cpp $(SRC)/show.cpp: yachts.lnk
$(SRC)/help.cpp: help.gdb
yachts.lnk:
ln -fs $(SRC_ROOT)/refDatabases/metadata.gdb yachts.lnk
help.gdb:
ln -fs $(SRC_ROOT)/refDatabases/help.gdb help.gdb
FORCE:
include $(ROOT)/gen/make.shared.targets
-include $(Dependencies)

View File

@ -1,5 +1,3 @@
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
@ -29,7 +27,7 @@
# Contributor(s):
#
#
# $Id: Makefile.in.embed.util,v 1.3 2002-09-24 13:01:12 eku Exp $
# $Id: Makefile.in.embed.util,v 1.4 2002-10-07 01:29:09 skywalker Exp $
#
ROOT=..
ObjModuleName=embed.util
@ -151,6 +149,6 @@ rebuild: $(GDS_REBUILD)
$(GDS_REBUILD): $(REBUILD_Objects) $(LIBFBEMBED_SO)
$(LD) $(LINK_OPTS) $(REBUILD_Objects) -o $@ -L$(LIB) -lfbembed $(LINK_LIBS)
FORCE:
include $(ROOT)/gen/make.shared.targets
-include $(Dependencies)

View File

@ -27,7 +27,7 @@
# Contributor(s):
#
#
# $Id: Makefile.in.extlib,v 1.3 2002-09-24 13:01:12 eku Exp $
# $Id: Makefile.in.extlib,v 1.4 2002-10-07 01:29:09 skywalker Exp $
#
ROOT=..
ObjModuleName=extlib
@ -113,6 +113,6 @@ $(LIB)/ib_util.so: $(UTIL_Objects)
# ar crv $@ $%
FORCE:
include $(ROOT)/gen/make.shared.targets
-include $(Dependencies)

View File

@ -1,5 +1,3 @@
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
@ -29,7 +27,7 @@
# Contributor(s):
#
#
# $Id: Makefile.in.fbserver,v 1.3 2002-09-24 13:01:12 eku Exp $
# $Id: Makefile.in.fbserver,v 1.4 2002-10-07 01:29:09 skywalker Exp $
#
ROOT=..
ObjModuleName=fbserver
@ -72,7 +70,6 @@ AllObjects = $(SERVER_Objects)
Dependencies = $(AllObjects:.o=.d)
FORCE:
include $(ROOT)/gen/make.shared.targets
-include $(Dependencies)

View File

@ -1,5 +1,3 @@
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
@ -29,7 +27,7 @@
# Contributor(s):
#
#
# $Id: Makefile.in.fbutil,v 1.3 2002-09-19 15:25:38 skidder Exp $
# $Id: Makefile.in.fbutil,v 1.4 2002-10-07 01:29:09 skywalker Exp $
#
ROOT=../..
@ -65,23 +63,9 @@ libtestx.so.2 : $(FBUTIL_Objects)
# g++ -shared -o $@ $^ $(STATICLINK_LIBS)
$(LIB_LINK) $(LIB_LINK_OPTIONS) -o $@ $^
# The following was just for testing
testx: main.o
# g++ -v -shared -o $@ $^ -L. -ltestx $(STATICLINK_LIBS)
g++ -v -o $@ $^ -L. -ltestx.so.2
testx2:
-rm libtestx.so testx
$(MAKE) libtestx.so.2
$(MAKE) testx
clean:
-rm $(AllObjects)
-rm $(Dependancies)
FORCE:
include $(ROOT)/gen/make.shared.targets
-include $(Dependancies)

View File

@ -1,4 +1,3 @@
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
@ -28,7 +27,7 @@
# Contributor(s):
#
#
# $Id: Makefile.in.firebird,v 1.9 2002-10-02 12:43:15 eku Exp $
# $Id: Makefile.in.firebird,v 1.10 2002-10-07 01:29:09 skywalker Exp $
#
ROOT=..
@ -135,15 +134,17 @@ export LD_LIBRARY_PATH
.PHONY: firebird_super firebird_classic
# The main targets, firebird_embedded and firebird_server
# The main targets are firebird_embedded or firebird_server
# or their older names _classic or _super.
# The following target is expanded by autoconf process to
# either _classic or _super.
firebird : firebird_embedded
firebird_embedded: firebird_basic classic_targets
firebird_server: firebird_basic super_targets
# To help those remember to 'older' forms
firebird_classic: firebird_embedded
firebird_super: firebird_server
firebird : firebird_@FIREBIRD_ARCH_TYPE@
firebird_classic firebird_embedded: firebird_basic classic_targets
firebird_super firebird_server: firebird_basic super_targets
@ -154,7 +155,7 @@ firebird_super: firebird_server
# some complications particularly for super in needing to start the server
# that you are currently building. MOD 28-July-2002
firebird_basic: firebird_boot basic_targets
firebird_basic: external_libraries firebird_boot basic_targets
firebird_boot: updateBuildNum boot_phase1 boot_phase2
@ -167,7 +168,7 @@ firebird_boot: updateBuildNum boot_phase1 boot_phase2
# writeBuildNum.sh script is autoupdated by CVS checkins.
#
.PHONY: updateBuildNum
.PHONY: updateBuildNum external_libraries
updateBuildNum : jrd/build_no.h
@ -175,6 +176,18 @@ jrd/build_no.h : misc/writeBuildNum.sh
(cd ..; ./src/misc/writeBuildNum.sh rebuildHeader)
#
# Libraries that come from outside the project but are built
# as part of the project are included here. Currently editline
# is the only external library we have included.
#
external_libraries: $(LIBEDIT_A)
$(LIBEDIT_A):
$(MAKE) -C $(SRC_ROOT)/extern/editline
#---------------------------------------------------------------------------
# Phase1: make a gpre_static from scratch so we can parse .e and .epp files
# to build the rest of the system. It goes in two bits make a real simple
@ -200,6 +213,7 @@ $(GPRE_STATIC):
boot_phase1_build: libfbcommon gpre_boot libfbstatic gpre_static @MANAGER_PROCESS_TARGET@
libfbcommon:
$(MAKE) -f $(MAKE_ROOT)/Makefile.libfbcommon $@
@ -348,7 +362,7 @@ embed_qli:
.PHONY: libfbclient client_gfix client_gbak client_isql client_gpre client_util
super_targets: libfbserver fbserver libfbclient client_gfix client_gbak \
client_isql client_gpre client_util client_gdef
client_isql client_gpre client_util # client_gdef
libfbserver:
$(MAKE) -f $(MAKE_ROOT)/Makefile.libfbserver $@
@ -369,11 +383,14 @@ client_gpre:
$(MAKE) -f $(MAKE_ROOT)/Makefile.client.gpre
client_isql:
$(MAKE) -f $(MAKE_ROOT)/Makefile.client.gbak
$(MAKE) -f $(MAKE_ROOT)/Makefile.client.isql
client_util:
$(MAKE) -f $(MAKE_ROOT)/Makefile.client.util
# Not sure we need this target in super - problems with WAL includes
# MOD 04-Oct-2002
client_gdef:
$(MAKE) -f $(MAKE_ROOT)/Makefile.client.gdef
@ -512,11 +529,11 @@ $(BIN)/% :: $(SRC_ROOT)/install/misc/%
.PHONY: install
install:
$(MAKE) -C install $@
$(MAKE) -f $(MAKE_ROOT)/Makefile.install $@
packages:
$(MAKE) -C install $@
$(MAKE) -f $(MAKE_ROOT)/Makefile.install $@
installclassic:
@ -529,29 +546,21 @@ dist:
#___________________________________________________________________________
# This one needs some more work.
#
clean: clean_objs clean_libs clean_exes clean_dbs clean_dependancies clean_build
clean_objs:
-echo $(GDSLIB_Objects) | xargs rm -f
-echo $(GDSLIB_SharedObjects) | xargs rm -f
clean: clean_objects clean_dependancies clean_build
clean_libs:
-rm $(GDSLIB_LA)
-rm $(JRD_BOOT)
clean_exes:
-rm -f $(BIN)/*
# -rm $(Executables)
# Not sure if this one is still needed MOD 7-Oct-2002
clean_dbs:
-rm -f refDatabases/*\.gdb
clean_objects:
rm -f `find $(GEN_ROOT)/ -type f -name '*.o' -print`
# Clear out dependancies files created by the gcc compiler
# since when .o and other files are deleted the dependant
# targets need to be recalculated

View File

@ -1,5 +1,3 @@
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
@ -29,7 +27,7 @@
# Contributor(s):
#
#
# $Id: Makefile.in.inet_server,v 1.3 2002-09-24 13:01:12 eku Exp $
# $Id: Makefile.in.inet_server,v 1.4 2002-10-07 01:29:09 skywalker Exp $
#
ROOT=..
ObjModuleName=inet_server
@ -59,7 +57,7 @@ $(BIN)/fb_inet_server: $(SERVER_Objects) $(LIBFBEMBED_SO)
# $(CHMOD_S7) $@
include $(ROOT)/gen/make.shared.targets
FORCE:
-include $(Dependencies)

View File

@ -1,5 +1,3 @@
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
@ -29,9 +27,9 @@
# Contributor(s):
#
#
# $Id: Makefile.in.install,v 1.3 2002-09-19 15:25:38 skidder Exp $
# $Id: Makefile.in.install,v 1.4 2002-10-07 01:29:09 skywalker Exp $
#
ROOT=../..
ROOT=..
@ -70,34 +68,47 @@ FirebirdBuildPrefix=$(GEN_ROOT)
#export FirebirdInstallPrefix
#export PackageVersion
BuildVersion=@FIREBIRD_VERSION@.@FB_BUILD_NUM@
PackageVersion=@FIREBIRD_PACKAGE_VERSION@
Version=$(BuildVersion)-$(PackageVersion)
# This means something like: FirebirdCS-2.0.0-1.i386.tar.gz
TarFile=Firebird$(ArchPrefix)-$(FirebirdVersion)-$(PackageVersion).$(CpuType).tar.gz
TarFile=Firebird$(ArchPrefix)-$(Version).$(CpuType).tar.gz
RPMFile=Firebird$(ArchPrefix)-$(Version).$(CpuType).rpm
# Determine where the packages are built. Each distribution builds them in
# their own spot.
# This should be moved to configure.in file
RedhatPackageDir=/usr/src/redhat/RPMS/$(CpuType)
MandrakePackageDir=/usr/src/RPM/RPMS/$(CpuType)
SuSEPackageDir=/usr/src/packages/RPMS/$(CpuType)
PackageDir:=$(shell if [ -d $(RedhatPackageDir) ]; then echo $(RedhatPackageDir); \
elif [ -d $(MandrakePackageDir) ]; then echo $(MandrakePackageDir); \
elif [ -d $(SuSEPackageDir) ]; then echo $(SuSEPackageDir); \
fi)
PkgSrcDir=$(InstallRoot)/$(ArchType)
RPMSrcDir=$(SRC)/install/@FIREBIRD_ARCH_TYPE@/
ScriptDir=$(GEN_ROOT)/install/scripts/
LastInstallFlg=.lastinstallflg
TarInstallDir=$(GEN_ROOT)/install
.PHONY: install tarfile rpmfile dist packages
install: runinstall
dist : packages
runinstall: $(LastInstallFlg)
$(LastInstallFlg) : $(BIN)/gsec
(cd $(GEN_ROOT)/install; ./install.sh)
# (cd $(ROOT); sh $(InstallRoot)/classic/CSTarInstall.sh)
# touch $(LastInstallFlg)
packages: tarfile
#packages: tarfile rpmfile
tarfile: $(TarFile)
@ -105,9 +116,48 @@ $(TarFile) : buildInstallDir
(cd $(GEN_ROOT); tar -czf $(TarFile) install)
TarInstallDir=$(GEN_ROOT)/install
buildInstallDir:
# (cd $(BuildRoot); tar -czf - interbase ) | cat > $(CSTarInstallDir)/interbase.tar.gz
(cd $(GEN_ROOT); tar -czf install/firebird.tar.gz firebird)
install:
(cd $(GEN_ROOT)/install; ./install.sh)
rpmfile: $(RPMFile)
$(RPMFile) : $(GEN_ROOT)/rpmscript
rpm -bb $(GEN_ROOT)/rpmscript
# rpm -bb --buildroot `pwd`/buildroot $(GEN_ROOT)/rpmscript
cp $(PackageDir)/$(RPMFile) .
.PHONY: $(GEN_ROOT)/rpmscript
$(GEN_ROOT)/rpmscript :
echo $@
cat $(RPMSrcDir)/rpmheader.txt.in | sed 's/^Version:.*/Version: $(BuildVersion)/' \
| sed 's/Release:.*/Release: $(PackageVersion)/' > $@
echo "" >> $@
echo "%prep" >> $@
# cat $(ClassicSrcDir)/prepinstall.sh >> $@
echo "" >> $@
echo "%build" >> $@
# cat $(ScriptDir)/buildinstall.sh >> $@
echo "" >> $@
echo "%install" >> $@
# cat $(ScriptDir)/install.sh >> $@
echo "" >> $@
echo "%files" >> $@
cat $(RPMSrcDir)/rpmfiles.txt.in >> $@
echo "" >> $@
echo "%pre" >> $@
cat $(ScriptDir)/preinstall.sh >> $@
echo "" >> $@
echo "%post" >> $@
cat $(ScriptDir)/postinstall.sh >> $@
echo "" >> $@
echo "%preun" >> $@
cat $(ScriptDir)/preuninstall.sh >> $@
echo "" >> $@
echo "%postun" >> $@
cat $(ScriptDir)/postuninstall.sh >> $@

View File

@ -1,5 +1,3 @@
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
@ -29,7 +27,7 @@
# Contributor(s):
#
#
# $Id: Makefile.in.intl,v 1.4 2002-09-24 13:01:12 eku Exp $
# $Id: Makefile.in.intl,v 1.5 2002-10-07 01:29:09 skywalker Exp $
#
ROOT=..
ObjModuleName=intl
@ -87,6 +85,6 @@ $(LIBFBINTL_SO): $(INTL_Objects)
FORCE:
include $(ROOT)/gen/make.shared.targets
-include $(Dependencies)

View File

@ -1,5 +1,3 @@
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
@ -29,7 +27,7 @@
# Contributor(s):
#
#
# $Id: Makefile.in.libfbclient,v 1.3 2002-09-24 13:01:12 eku Exp $
# $Id: Makefile.in.libfbclient,v 1.4 2002-10-07 01:29:09 skywalker Exp $
#
ROOT=..
ObjModuleName=libfbclient
@ -67,6 +65,14 @@ REMOTE_ClientSources = $(addprefix remote/, $(REMOTE_ClientFiles))
REMOTE_ClientObjects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(REMOTE_ClientSources))))
GPRELIB_ClientSources = $(addprefix gpre/, $(GPRELIB_ClientFiles))
GPRELIB_ClientObjects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(GPRELIB_ClientSources))))
WAL_ClientSources = $(addprefix wal/, $(WAL_ClientFiles))
WAL_ClientObjects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(WAL_ClientSources))))
SECURITY_ClientSources = $(addprefix utilities/, $(SECURITY_ClientFiles))
SECURITY_ClientObjects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(SECURITY_ClientSources))))
@ -81,10 +87,15 @@ FBMEMORY_ClientSources = $(addprefix common/memory/, $(FBMEMORY_ClientFiles))
FBMEMORY_ClientObjects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(FBMEMORY_ClientSources))))
FBCLIENT_Objects = $(JRD_ClientObjects) $(DSQL_ClientObjects) \
$(REMOTE_ClientObjects) $(SECURITY_ClientObjects) \
FBCLIENT_Objects = $(JRD_ClientObjects) \
$(DSQL_ClientObjects) \
$(REMOTE_ClientObjects) \
$(GPRELIB_ClientObjects) \
$(WAL_ClientObjects) \
$(SECURITY_ClientObjects) \
$(FBUTIL_ClientObjects) \
$(FBCOMMON_ClientObjects) $(FBMEMORY_ClientObjects)
$(FBCOMMON_ClientObjects)\
$(FBMEMORY_ClientObjects)
.PHONY: libfbclient
@ -99,38 +110,11 @@ $(LIBFBCLIENT_SO): $(FBCLIENT_Objects)
-$(LN) $(notdir $(LIBFBCLIENT_SOBASENAME)) $(LIBFBCLIENT_SONAME)
# This is the one where dyn_def.epp produced dyn_def.cpp and then the sed
# script is run to remove a component of it. This is pretty ugly, and even
# if we have to live with it, the makefile should be changed to make the
# dependencies clearer.
$(SRC)/dyn_def.cpp : $(SRC)/dyn_def.epp $(SRC)/dyn_def.sed
$(GPRE_BOOT) $(GPRE_FLAGS) $< $(GEN_SRC)/dyn_deffoo.cpp
sed -f $(SRC)/dyn_def.sed $(GEN_SRC)/dyn_deffoo.cpp > $@
# This was the old dependancies.
#$(BIN)/dyn_def.o: $(SRC)/dyn_def.cpp $(SRC)/dyn_def.sed
# sed -f dyn_def.sed $< > dyn_deffoo.cpp
# $(CXX) -c $(CFLAGS) $(CXX_INCLUDE_DIRS) $(VERSION_FLAG) dyn_deffoo.cpp
# $(MV) dyn_deffoo.o dyn_def.bin
# -$(RM) dyn_deffoo.cpp dyn_deffoo.o
buildb: isc4.gdb yachts.lnk
isc4.gdb : $(ISC_GDB)
-ln -sf $(ISC_GDB) $@
yachts.lnk:
ln -fs $(SRC_ROOT)/refDatabases/empty.gdb yachts.lnk
AllObjects = $(FBCLIENT_Objects)
Dependencies = $(AllObjects:.o=.d)
FORCE:
include $(ROOT)/gen/make.shared.targets
-include $(Dependencies)

View File

@ -1,5 +1,3 @@
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
@ -29,7 +27,7 @@
# Contributor(s):
#
#
# $Id: Makefile.in.libfbcommon,v 1.2 2002-09-19 15:25:38 skidder Exp $
# $Id: Makefile.in.libfbcommon,v 1.3 2002-10-07 01:29:09 skywalker Exp $
#
ROOT=..
ObjModuleName=libfbcommon
@ -66,11 +64,7 @@ $(LIB)/libfbcommon.a: $(LIBFBCOMMON_Objects)
$(CHMOD_6) $@
clean:
-rm $(AllObjects)
-rm $(Dependancies)
FORCE:
include $(ROOT)/gen/make.shared.targets
-include $(Dependancies)

View File

@ -1,5 +1,3 @@
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
@ -29,7 +27,7 @@
# Contributor(s):
#
#
# $Id: Makefile.in.libfbembed,v 1.3 2002-09-24 13:01:12 eku Exp $
# $Id: Makefile.in.libfbembed,v 1.4 2002-10-07 01:29:09 skywalker Exp $
#
ROOT=..
ObjModuleName=libfbembed
@ -65,35 +63,6 @@ $(LIBFBEMBED_SO): $(LIBFBEMBED_Objects)
-$(LN) $(@F) $(LIBFBEMBED_SOBASENAME)
-$(LN) $(notdir $(LIBFBEMBED_SOBASENAME)) $(LIBFBEMBED_SONAME)
# This is the one where dyn_def.epp produced dyn_def.cpp and then the sed
# script is run to remove a component of it. This is pretty ugly, and even
# if we have to live with it, the makefile should be changed to make the
# dependencies clearer.
$(SRC)/dyn_def.cpp : $(SRC)/dyn_def.epp $(SRC)/dyn_def.sed
$(GPRE_BOOT) $(GPRE_FLAGS) $< $(GEN_SRC)/dyn_deffoo.cpp
sed -f $(SRC)/dyn_def.sed $(GEN_SRC)/dyn_deffoo.cpp > $@
# This was the old dependancies.
#$(BIN)/dyn_def.o: $(SRC)/dyn_def.cpp $(SRC)/dyn_def.sed
# sed -f dyn_def.sed $< > dyn_deffoo.cpp
# $(CXX) -c $(CFLAGS) $(CXX_INCLUDE_DIRS) $(VERSION_FLAG) dyn_deffoo.cpp
# $(MV) dyn_deffoo.o dyn_def.bin
# -$(RM) dyn_deffoo.cpp dyn_deffoo.o
buildb: isc4.gdb yachts.lnk
isc4.gdb : $(ISC_GDB)
-ln -sf $(ISC_GDB) $@
yachts.lnk:
ln -fs $(SRC_ROOT)/refDatabases/empty.gdb yachts.lnk
FORCE:
include $(ROOT)/gen/make.shared.targets
-include $(Dependencies)

View File

@ -1,5 +1,3 @@
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
@ -29,7 +27,7 @@
# Contributor(s):
#
#
# $Id: Makefile.in.libfbserver,v 1.2 2002-09-19 15:25:38 skidder Exp $
# $Id: Makefile.in.libfbserver,v 1.3 2002-10-07 01:29:09 skywalker Exp $
#
ROOT=..
ObjModuleName=libfbserver
@ -78,39 +76,9 @@ $(LIB)/libfbserver.a: $(LIBFBSERVER_Objects)
$(CHMOD_6) $@
# This is the one where dyn_def.epp produced dyn_def.cpp and then the sed
# script is run to remove a component of it. This is pretty ugly, and even
# if we have to live with it, the makefile should be changed to make the
# dependencies clearer.
$(SRC)/dyn_def.cpp : $(SRC)/dyn_def.epp $(SRC)/dyn_def.sed
$(GPRE_BOOT) $(GPRE_FLAGS) $< $(GEN_SRC)/dyn_deffoo.cpp
sed -f $(SRC)/dyn_def.sed $(GEN_SRC)/dyn_deffoo.cpp > $@
# This was the old dependancies.
#$(BIN)/dyn_def.o: $(SRC)/dyn_def.cpp $(SRC)/dyn_def.sed
# sed -f dyn_def.sed $< > dyn_deffoo.cpp
# $(CXX) -c $(CFLAGS) $(CXX_INCLUDE_DIRS) $(VERSION_FLAG) dyn_deffoo.cpp
# $(MV) dyn_deffoo.o dyn_def.bin
# -$(RM) dyn_deffoo.cpp dyn_deffoo.o
buildb: isc4.gdb yachts.lnk
isc4.gdb : $(ISC_GDB)
-ln -sf $(ISC_GDB) $@
yachts.lnk:
ln -fs $(SRC_ROOT)/refDatabases/empty.gdb yachts.lnk
AllObjects = $(GDSLIB_Objects)
AllObjects = $(LIBFBSERVER_Objects)
Dependencies = $(AllObjects:.o=.d)
FORCE:
include $(ROOT)/gen/make.shared.targets
-include $(Dependencies)

View File

@ -1,5 +1,3 @@
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
@ -29,7 +27,7 @@
# Contributor(s):
#
#
# $Id: Makefile.in.libfbstatic,v 1.3 2002-09-19 15:25:38 skidder Exp $
# $Id: Makefile.in.libfbstatic,v 1.4 2002-10-07 01:29:09 skywalker Exp $
#
ROOT=..
ObjModuleName=libfbstatic
@ -44,11 +42,11 @@ include $(ROOT)/gen/make.shared.variables
AllObjects= $(LIBFBSTATIC_Objects)
Dependancies=$(AllObjects:.o=.d)
.PHONY: libfbstatic
@ -65,22 +63,6 @@ $(LIB)/libfbstatic.a: $(LIBFBSTATIC_Objects)
$(CHMOD_6) $@
# This is the one where dyn_def.epp produced dyn_def.cpp and then the sed
# script is run to remove a component of it. This is pretty ugly, and even
# if we have to live with it, the makefile should be changed to make the
# dependencies clearer. MOD July-2001
$(SRC)/jrd/dyn_def.cpp : $(SRC)/jrd/dyn_def.epp $(SRC)/jrd/dyn_def.sed
$(GPRE_BOOT) $(JRD_GPRE_FLAGS) $< $(GEN_SRC)/jrd/dyn_deffoo.cpp
sed -f $(SRC)/jrd/dyn_def.sed $(GEN_SRC)/jrd/dyn_deffoo.cpp > $@
clean:
-rm $(AllObjects)
-rm $(Dependancies)
FORCE:
include $(ROOT)/gen/make.shared.targets
-include $(Dependancies)

View File

@ -1,5 +1,3 @@
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
@ -29,7 +27,7 @@
# Contributor(s):
#
#
# $Id: Makefile.in.msgs,v 1.5 2002-09-24 13:01:12 eku Exp $
# $Id: Makefile.in.msgs,v 1.6 2002-10-07 01:29:09 skywalker Exp $
#
ROOT=..
ObjModuleName=msgs
@ -179,7 +177,6 @@ $(ja_JP_MSG) : $(BUILD_FILE) indicator.msg
$(BIN)/build_file -d $(MSGSDIR)master_msg_db -l ja_JP.EUC -f $@
$(CHMOD_6) $@
FORCE:
include $(ROOT)/gen/make.shared.targets
-include $(Dependencies)

View File

@ -1,5 +1,3 @@
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
@ -29,7 +27,7 @@
# Contributor(s):
#
#
# $Id: Makefile.in.refDatabases,v 1.5 2002-09-19 15:25:38 skidder Exp $
# $Id: Makefile.in.refDatabases,v 1.6 2002-10-07 01:29:09 skywalker Exp $
#
ROOT=..
ObjModuleName=refDatabases

View File

@ -1,4 +1,3 @@
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
@ -28,7 +27,7 @@
# Contributor(s):
#
#
# $Id: Makefile.in.static.gbak,v 1.2 2002-09-19 15:25:38 skidder Exp $
# $Id: Makefile.in.static.gbak,v 1.3 2002-10-07 01:29:09 skywalker Exp $
#
ROOT=..
ObjModuleName=static.gbak
@ -64,8 +63,7 @@ $(BIN)/gbak_static : $(GBAKSTATIC_Objects) $(LIBFBCOMMON_A) $(LIBBSTATIC_A)
# Darwin may need this link as well
#$(COREFOUNDATION_LINK)
include $(ROOT)/gen/make.shared.targets
FORCE:
-include $(Dependencies)

View File

@ -27,7 +27,7 @@
# Contributor(s):
#
#
# $Id: Makefile.in.static.gpre,v 1.4 2002-09-24 13:01:12 eku Exp $
# $Id: Makefile.in.static.gpre,v 1.5 2002-10-07 01:29:09 skywalker Exp $
#
ROOT=..
ObjModuleName=static.gpre
@ -67,12 +67,7 @@ $(GPRE_STATIC): $(GPRESTATIC_Objects) $(LIBFBCOMMON_A) $(LIBFBSTATIC_A)
$(LN) $(@F) $(GPRE_CURRENT)
include $(ROOT)/gen/make.shared.targets
# gpre_meta needs a special boot build since there is no database.
$(SRC)/gpre/gpre_meta.cpp: $(SRC)/gpre/gpre_meta.epp
$(GPRE_BOOT) -lang_internal $(GPRE_FLAGS) $< $@
FORCE:
-include $(Dependencies)

View File

@ -1,5 +1,3 @@
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
@ -29,7 +27,7 @@
# Contributor(s):
#
#
# $Id: Makefile.in.static.isql,v 1.3 2002-09-24 13:01:12 eku Exp $
# $Id: Makefile.in.static.isql,v 1.4 2002-10-07 01:29:09 skywalker Exp $
#
ROOT=..
ObjModuleName=static.isql
@ -64,6 +62,6 @@ $(ISQL_STATIC): $(ISQL_Objects) $(LIBFBCOMMON_A) $(LIBBSTATIC_A)
$(LD) $(LINK_OPTS) $(ISQL_Objects) -o $@ -L$(LIB) -lfbstatic -lfbcommon $(LINK_LIBS)
FORCE:
include $(ROOT)/gen/make.shared.targets
-include $(Dependencies)

View File

@ -1,4 +1,3 @@
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
@ -28,7 +27,7 @@
# Contributor(s):
#
#
# $Id: Makefile.in.v5_examples,v 1.3 2002-09-19 15:25:38 skidder Exp $
# $Id: Makefile.in.v5_examples,v 1.4 2002-10-07 01:29:09 skywalker Exp $
#
ROOT=../..
ObjModuleName=v5_examples

View File

@ -26,7 +26,7 @@
# Contributor(s):
#
#
# $Id: make.defaults,v 1.3 2002-09-24 13:01:12 eku Exp $
# $Id: make.defaults,v 1.4 2002-10-07 01:29:09 skywalker Exp $
#
@ -128,6 +128,7 @@ LIBFBINTL_SO = $(FIREBIRD)/intl/libfbintl.so
LIBFBCOMMON_A = $(LIB)/libfbcommon.a
LIBFBSTATIC_A = $(LIB)/libfbstatic.a
LIBEDIT_A = $(LIB)/libedit.a
ifdef UseSharedLibraries
LIBGDS_LA = $(LIBGDS_SO)

View File

@ -26,7 +26,7 @@
# Contributor(s):
#
#
# $Id: make.rules,v 1.7 2002-09-25 11:20:30 kkuznetsov Exp $
# $Id: make.rules,v 1.8 2002-10-07 01:29:09 skywalker Exp $
#
#____________________________________________________________________________
@ -164,8 +164,8 @@ LINK_OPTIONS=
#LINK_LIBS:= -lm -lstdc++ $(ReadlineLibs) @LIBS@ -lc -ldl -lcrypt
#STATICLINK_LIBS := -lm -lstdc++ $(ReadlineLibs) -lc -ldl -lcrypt
LINK_LIBS = @LIBS@
STATICLINK_LIBS = @LIBS@
LINK_LIBS = @LIBS@ @EDITLINE_A@
STATICLINK_LIBS = @LIBS@ @EDITLINE_A@
#LINK_LIBS= -L$(LIB) -lgds -lm -lc -ldl -lcrypt
# -lgcc

View File

@ -0,0 +1,108 @@
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2.1 of the License, or (at your option) any later version.
# You may obtain a copy of the Licence at
# http://www.gnu.org/licences/lgpl.html
#
# As a special exception this file can also be included in modules
# with other source code as long as that source code has been
# released under an Open Source Initiative certificed licence.
# More information about OSI certification can be found at:
# http://www.opensource.org
#
# This module is distributed in the hope that it 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 Licence for more details.
#
# This module was created by members of the firebird development
# team. All individual contributions remain the Copyright (C) of
# those individuals and all rights are reserved. Contributors to
# this file are either listed below or can be obtained from a CVS
# history command.
#
# Created by: Mark O'Donohue <mark.odonohue@ludwig.edu.au>
#
# Contributor(s):
#
#
# $Id: make.shared.targets,v 1.1 2002-10-07 01:29:09 skywalker Exp $
#
#-----------------------------------------------------------
# Amongst a number of makefiles some of the targets have
# specific rules. Rather than duplicate the rules in a
# number of makefiles, these have been included here.
#
# Hopefully this file is an intermediate step, on the way to
# potentially a single makefile, or at least one per directory.
# MOD 07-Oct-2002
# This is the one where dyn_def.epp produced dyn_def.cpp and then the sed
# script is run to remove a component of it. This is pretty ugly, and even
# if we have to live with it, the makefile should be changed to make the
# dependencies clearer. MOD July-2001
$(SRC)/jrd/dyn_def.cpp : $(SRC)/jrd/dyn_def.epp $(SRC)/jrd/dyn_def.sed
$(GPRE_BOOT) $(JRD_GPRE_FLAGS) $< $(GEN_SRC)/jrd/dyn_deffoo.cpp
sed -f $(SRC)/jrd/dyn_def.sed $(GEN_SRC)/jrd/dyn_deffoo.cpp > $@
# This rule creates parse.cpp from parse.y
# The intermediate files dsql.tab.c dsql.tab.h and parse.cpp are generated
# and are also stored in the CVS tree. MOD 7-Oct-2002
$(SRC)/dsql/parse.cpp: $(SRC)/dsql/parse.y $(SRC)/dsql/parse.sed
$(YACC) -d -b $(SRC)/dsql/dsql $<
sed -f $(SRC)/dsql/parse.sed <$(SRC)/dsql/dsql.tab.c > $@
# gpre_meta needs a special boot build since there is no database.
$(SRC)/gpre/gpre_meta.cpp: $(SRC)/gpre/gpre_meta.epp
$(GPRE_BOOT) -lang_internal $(GPRE_FLAGS) $< $@
buildb: isc4.gdb yachts.lnk help.gdb
isc4.gdb : $(ISC_GDB)
-ln -sf $(ISC_GDB) $@
yachts.lnk:
-ln -fs $(SRC_ROOT)/refDatabases/empty.gdb yachts.lnk
help.gdb:
-ln -fs $(SRC_ROOT)/refDatabases/help.gdb help.gdb
# These need to change to $(GEN_SRC) at some stage
$(SRC)/dudley/exe.cpp $(SRC)/dudley/extract.epp: yachts.lnk
$(SRC)/qli/meta.cpp $(SRC)/qli/proc.cpp $(SRC)/qli/show.cpp: yachts.lnk
$(SRC)/qli/help.cpp: help.gdb
.PHONY: clean FORCE
clean:
-rm $(AllObjects)
-rm $(Dependancies)
# This target is used in the generated dependancy xxx.d files which are
# automatically created from the .cpp files. To simplify the build
# process, if the .d files does not yet exist, a line is written
# of the form fred.o : FORCE to ennsure that fred.cpp will be
# recompiled MOD 7-Oct-2002
FORCE:

View File

@ -127,7 +127,11 @@ PIPE_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(PIPE_Sources)))
#
# wal
WAL_Files= wal.cpp walc.cpp walf.cpp walr.cpp wstatus.cpp walw.cpp
WAL_ClientFiles =
WAL_ServerFiles= walf.cpp wal.cpp walc.cpp walr.cpp wstatus.cpp walw.cpp
WAL_Files = $(WAL_ClientFiles) $(WAL_ServerFiles)
WAL_Sources = $(addprefix wal/, $(WAL_Files))
WAL_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(WAL_Sources))))
@ -136,7 +140,9 @@ WAL_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(WAL_Sources))))
#
# gpre
GPRELIB_Files = pretty.cpp
GPRELIB_ClientFiles = pretty.cpp
GPRELIB_Files = $(GPRELIB_ClientFiles) $(GPRELIB_ServerFiles)
GPRELIB_Sources = $(addprefix gpre/, $(GPRELIB_Files))
GPRELIB_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(GPRELIB_Sources))))

View File

@ -1,4 +1,4 @@
dnl $Id: configure.in,v 1.51 2002-10-01 10:38:13 eku Exp $
dnl $Id: configure.in,v 1.52 2002-10-07 01:29:08 skywalker Exp $
dnl ############################# INITIALISATION ###############################
@ -143,7 +143,8 @@ AC_CHECK_HEADERS(stdlib.h)
AC_CHECK_HEADERS(string.h)
AC_CHECK_HEADERS(signal.h)
if test "$READLINE_FLG" = "Y"; then
AC_CHECK_HEADERS(readline/readline.h)
AC_DEFINE(HAVE_EDITLINE_H)
# AC_CHECK_HEADERS(readline/readline.h)
fi
AC_CHECK_HEADERS(pwd.h)
AC_CHECK_HEADERS(unistd.h)
@ -161,7 +162,8 @@ AC_CHECK_LIB(crypt, main)
AC_CHECK_LIB(curses, main)
dnl AC_CHECK_LIB(termcap, main)
if test "$READLINE_FLG" = "Y"; then
AC_CHECK_LIB(readline, main,,, $LIBS)
AC_SUBST(EDITLINE_A, -ledit)
# AC_CHECK_LIB(readline, main,,, $LIBS)
fi
AC_CHECK_LIB(stdc++, main,,, $LIBS)
@ -281,7 +283,7 @@ AC_SUBST(FIREBIRD_LIBGDS_SO_X_LNK)
AC_SUBST(FIREBIRD_VERSION)
AC_SUBST(FIREBIRD_PACKAGE_VERSION)
AC_SUBST(FB_BUILD_NUM, $BuildNum)
BUILD_ROOT_DIR=`pwd`
SRC_ROOT=$BUILD_ROOT_DIR/src
@ -357,6 +359,8 @@ mkdir -p gen/libfbserver/jrd/os/posix
mkdir -p gen/fbserver/remote
mkdir -p gen/libfbclient/jrd
mkdir -p gen/libfbclient/dsql
mkdir -p gen/libfbclient/gpre
mkdir -p gen/libfbclient/wal
mkdir -p gen/libfbclient/remote
mkdir -p gen/libfbclient/utilities
mkdir -p gen/libfbclient/fbutil
@ -364,6 +368,7 @@ mkdir -p gen/libfbclient/common/memory
mkdir -p gen/client.gbak/burp
mkdir -p gen/client.gfix/alice
mkdir -p gen/client.gpre/gpre
mkdir -p gen/client.gdef/dudley
mkdir -p gen/client.isql/isql
mkdir -p gen/client.util/utilities
mkdir -p gen/intl/intl
@ -439,6 +444,7 @@ gen/make.rules:${MAKE_SRC_DIR}/make.rules
gen/make.defaults:${MAKE_SRC_DIR}/make.defaults
gen/make.platform:${MAKE_SRC_DIR}/prefix.${MAKEFILE_PREFIX}
gen/make.shared.variables:${MAKE_SRC_DIR}/make.shared.variables
gen/make.shared.targets:${MAKE_SRC_DIR}/make.shared.targets
src/Makefile:${MAKE_SRC_DIR}/Makefile.in.firebird
gen/Makefile.libfbcommon:${MAKE_SRC_DIR}/Makefile.in.libfbcommon
gen/Makefile.boot.gpre:${MAKE_SRC_DIR}/Makefile.in.boot.gpre
@ -452,6 +458,7 @@ gen/Makefile.fbserver:${MAKE_SRC_DIR}/Makefile.in.fbserver
gen/Makefile.libfbclient:${MAKE_SRC_DIR}/Makefile.in.libfbclient
gen/Makefile.client.gbak:${MAKE_SRC_DIR}/Makefile.in.client.gbak
gen/Makefile.client.gfix:${MAKE_SRC_DIR}/Makefile.in.client.gfix
gen/Makefile.client.gdef:${MAKE_SRC_DIR}/Makefile.in.client.gdef
gen/Makefile.client.isql:${MAKE_SRC_DIR}/Makefile.in.client.isql
gen/Makefile.client.gpre:${MAKE_SRC_DIR}/Makefile.in.client.gpre
gen/Makefile.client.util:${MAKE_SRC_DIR}/Makefile.in.client.util
@ -470,7 +477,7 @@ gen/Makefile.embed.gdef:${MAKE_SRC_DIR}/Makefile.in.embed.gdef
gen/Makefile.embed.qli:${MAKE_SRC_DIR}/Makefile.in.embed.qli
gen/Makefile.embed.gpre:${MAKE_SRC_DIR}/Makefile.in.embed.gpre
src/v5_examples/Makefile:${MAKE_SRC_DIR}/Makefile.in.example5
src/install/Makefile:${MAKE_SRC_DIR}/Makefile.in.install
gen/Makefile.install:${MAKE_SRC_DIR}/Makefile.in.install
Makefile:Makefile.in
gen/install/scripts/preinstall.sh:src/install/${FIREBIRD_ARCH_TYPE}/preinstall.sh.in
gen/install/scripts/install.sh:src/install/${FIREBIRD_ARCH_TYPE}/install.sh.in
@ -500,6 +507,7 @@ dnl AC_DEFINE_UNQUOTED(FILE_VER_STRING, "$FILE_VER_STRING")
dnl AC_DEFINE_UNQUOTED(LICENSE_VER_STRING, "$FILE_VER_STRING")
dnl EKU: must be executed after AC_OUTPUT
chmod a+x gen/install/install.sh gen/install/scripts/*.sh

File diff suppressed because it is too large Load Diff

15
src/extern/editline/MANIFEST vendored Normal file
View File

@ -0,0 +1,15 @@
File Name Description
--------------------------------------------------------
README Release notes and copyright
MANIFEST This shipping list
Make.os9 OS-9 makefile
Makefile Unix makefile
complete.c Filename completion routines
editline.3 Manual page for editline library
editline.c Line-editing routines
editline.h Internal library header file
os9.h OS-9-specific declarations
sysos9.c OS-9-specific routines
sysunix.c Unix-specific routines
testit.c Test driver
unix.h Unix-specific declarations

19
src/extern/editline/Make.os9 vendored Normal file
View File

@ -0,0 +1,19 @@
## $Revision: 1.1 $
##
## OS-9 makefile for editline library.
##
.SUFFIXES:
RFILES = editline.r complete.r sysos9.r
%.r: %.c
cc68 -r -Dstrchr=index -Dstrrchr=rindex -DNEED_STRDUP -DSYS_OS9 $*.c
testit: testit.r editline.lib
cc68 -f=testit testit.r -l=editline.lib
$(RFILES): $(RFILES:%.r=%.c)
editline.lib: $(RFILES)
cat $(RFILES) >$@

77
src/extern/editline/Makefile vendored Normal file
View File

@ -0,0 +1,77 @@
## $Revision: 1.1 $
##
## Unix makefile for editline library.
##
## Set your options:
## -DANSI_ARROWS ANSI arrows keys work like emacs.
## -DHAVE_STDLIB Have <stdlib.h>.
## -DHAVE_TCGETATTR Have tcgetattr(), tcsetattr().
## -DHAVE_TERMIO Have "struct termio" and <termio.h>
## (If neither of above two, we use <sgttyb.h> and BSD ioctl's)
## -DHIDE Make static functions static (non debug).
## -DHIST_SIZE=n History size.
## -DNEED_STRDUP Don't have strdup().
## -DUNIQUE_HISTORY Don't save command if same as last one.
## -DUSE_DIRENT Use <dirent.h>, not <sys/dir.h>?
## -DUSE_TERMCAP Use the termcap library for terminal size
## see LDFLAGS, below, if you set this.
## -DNEED_PERROR Don't have perror() (used in testit)
## -DDO_SIGTSTP Send SIGTSTP on "suspend" key
DEFS = -DANSI_ARROWS -DHAVE_STDLIB -DHAVE_TCGETATTR -DHIDE -DUSE_DIRENT -DSYS_UNIX -DNEED_STRDUP
## Set your C compiler:
WARN = -Wall -Wshadow -Wpointer-arith -Wcast-qual -Wwrite-strings \
-Wunused -Wcomment -Wswitch
CC = gcc -ansi $(WARN)
#CFLAGS = $(DEFS) -O -g
#CC = gcc
CFLAGS = $(DEFS) -g
## If you have -DUSE_TERMCAP, set this as appropriate:
#LDFLAGS = -ltermlib
#LDFLAGS = -ltermcap
## Set ranlib as appropriate:
RANLIB = ranlib
#RANLIB = echo
## End of configuration.
SOURCES = editline.c complete.c sysunix.c
OBJECTS = editline.o complete.o sysunix.o
FIREBIRD_LIB=../../gen/firebird/lib
all: $(FIREBIRD_LIB)/libedit.a
#all: libedit.a
testit: testit.c libedit.a
$(CC) $(CFLAGS) -o testit testit.c libedit.a $(LDFLAGS)
shar: FORCE
shar `sed -e 1,2d -e 's/[ ].*//' <MANIFEST` >shar
FORCE:
clean:
rm -f *.[oa] testit foo core tags lint lint.all a.out Part01
lint: testit
lint -a -b -u -x $(DEFS) $(SOURCES) testit.c >lint.all
sed -e '/warning: function prototype not in scope/d' \
-e '/warning: old style argument declaration/'d \
-e '/mix of old and new style function declaration/'d \
<lint.all >lint
$(FIREBIRD_LIB)/libedit.a: $(OBJECTS)
@rm -f $@
ar r $@ $(OBJECTS)
$(RANLIB) $@
libedit.a: $(OBJECTS)
@rm -f $@
ar r $@ $(OBJECTS)
$(RANLIB) $@
$(OBJECTS): editline.h

48
src/extern/editline/README vendored Normal file
View File

@ -0,0 +1,48 @@
$Revision: 1.1 $
This is a line-editing library. It can be linked into almost any
program to provide command-line editing and recall.
It is call-compatible with the FSF readline library, but it is a
fraction of the size (and offers fewer features). It does not use
standard I/O. It is distributed under a "C News-like" copyright.
Configuration is done in the Makefile. Type "make testit" to get
a small slow shell for testing.
This contains some changes since the posting to comp.sources.misc:
- Bugfix for completion on absolute pathnames.
- Better handling of M-n versus showing raw 8bit chars.
- Better signal handling.
- Now supports termios/termio/sgttyb ioctl's.
- Add M-m command to toggle how 8bit data is displayed.
The following changes, made since the last public release, come from
J.G. Vons <vons@cesar.crbca1.sinet.slb.com>:
- History-searching no longer redraws the line wrong
- Added ESC-ESC as synonym for ESC-?
- SIGQUIT (normally ^\) now sends a signal, not indicating EOF.
- Fixed some typo's and unclear wording in the manpage.
- Fixed completion when all entries shared a common prefix.
- Fixed some meta-char line-redrawing bugs.
Enjoy,
Rich $alz
<rsalz@osf.org>
Copyright 1992,1993 Simmule Turner and Rich Salz. All rights reserved.
This software is not subject to any license of the American Telephone
and Telegraph Company or of the Regents of the University of California.
Permission is granted to anyone to use this software for any purpose on
any computer system, and to alter it and redistribute it freely, subject
to the following restrictions:
1. The authors are not responsible for the consequences of use of this
software, no matter how awful, even if they arise from flaws in it.
2. The origin of this software must not be misrepresented, either by
explicit claim or by omission. Since few users ever read sources,
credits must appear in the documentation.
3. Altered versions must be plainly marked as such, and must not be
misrepresented as being the original software. Since few users
ever read sources, credits must appear in the documentation.
4. This notice may not be removed or altered.

219
src/extern/editline/complete.c vendored Normal file
View File

@ -0,0 +1,219 @@
/* $Revision: 1.1 $
**
** History and file completion functions for editline library.
*/
#include "editline.h"
#if defined(NEED_STRDUP)
/*
** Return an allocated copy of a string.
*/
char *
strdup(p)
char *p;
{
char *new;
if ((new = NEW(char, strlen(p) + 1)) != NULL)
(void)strcpy(new, p);
return new;
}
#endif /* defined(NEED_STRDUP) */
/*
** strcmp-like sorting predicate for qsort.
*/
STATIC int
compare(p1, p2)
CONST void *p1;
CONST void *p2;
{
CONST char **v1;
CONST char **v2;
v1 = (CONST char **)p1;
v2 = (CONST char **)p2;
return strcmp(*v1, *v2);
}
/*
** Fill in *avp with an array of names that match file, up to its length.
** Ignore . and .. .
*/
STATIC int
FindMatches(dir, file, avp)
char *dir;
char *file;
char ***avp;
{
char **av;
char **new;
char *p;
DIR *dp;
DIRENTRY *ep;
SIZE_T ac;
SIZE_T len;
if ((dp = opendir(dir)) == NULL)
return 0;
av = NULL;
ac = 0;
len = strlen(file);
while ((ep = readdir(dp)) != NULL) {
p = ep->d_name;
if (p[0] == '.' && (p[1] == '\0' || (p[1] == '.' && p[2] == '\0')))
continue;
if (len && strncmp(p, file, len) != 0)
continue;
if ((ac % MEM_INC) == 0) {
if ((new = NEW(char*, ac + MEM_INC)) == NULL)
break;
if (ac) {
COPYFROMTO(new, av, ac * sizeof (char **));
DISPOSE(av);
}
*avp = av = new;
}
if ((av[ac] = strdup(p)) == NULL) {
if (ac == 0)
DISPOSE(av);
break;
}
ac++;
}
/* Clean up and return. */
(void)closedir(dp);
if (ac)
qsort(av, ac, sizeof (char **), compare);
return ac;
}
/*
** Split a pathname into allocated directory and trailing filename parts.
*/
STATIC int
SplitPath(path, dirpart, filepart)
char *path;
char **dirpart;
char **filepart;
{
static char DOT[] = ".";
char *dpart;
char *fpart;
if ((fpart = strrchr(path, '/')) == NULL) {
if ((dpart = strdup(DOT)) == NULL)
return -1;
if ((fpart = strdup(path)) == NULL) {
DISPOSE(dpart);
return -1;
}
}
else {
if ((dpart = strdup(path)) == NULL)
return -1;
dpart[fpart - path + 1] = '\0';
if ((fpart = strdup(++fpart)) == NULL) {
DISPOSE(dpart);
return -1;
}
}
*dirpart = dpart;
*filepart = fpart;
return 0;
}
/*
** Attempt to complete the pathname, returning an allocated copy.
** Fill in *unique if we completed it, or set it to 0 if ambiguous.
*/
char *
rl_complete(pathname, unique)
char *pathname;
int *unique;
{
char **av;
char *dir;
char *file;
char *new;
char *p;
SIZE_T ac;
SIZE_T end;
SIZE_T i;
SIZE_T j;
SIZE_T len;
if (SplitPath(pathname, &dir, &file) < 0)
return NULL;
if ((ac = FindMatches(dir, file, &av)) == 0) {
DISPOSE(dir);
DISPOSE(file);
return NULL;
}
p = NULL;
len = strlen(file);
if (ac == 1) {
/* Exactly one match -- finish it off. */
*unique = 1;
j = strlen(av[0]) - len + 2;
if ((p = NEW(char, j + 1)) != NULL) {
COPYFROMTO(p, av[0] + len, j);
if ((new = NEW(char, strlen(dir) + strlen(av[0]) + 2)) != NULL) {
(void)strcpy(new, dir);
(void)strcat(new, "/");
(void)strcat(new, av[0]);
rl_add_slash(new, p);
DISPOSE(new);
}
}
}
else {
/* Find largest matching substring. */
for (*unique = 0, i = len, end = strlen(av[0]); i < end; i++)
for (j = 1; j < ac; j++)
if (av[0][i] != av[j][i])
goto breakout;
breakout:
if (i > len) {
j = i - len + 1;
if ((p = NEW(char, j)) != NULL) {
COPYFROMTO(p, av[0] + len, j);
p[j - 1] = '\0';
}
}
}
/* Clean up and return. */
DISPOSE(dir);
DISPOSE(file);
for (i = 0; i < ac; i++)
DISPOSE(av[i]);
DISPOSE(av);
return p;
}
/*
** Return all possible completions.
*/
int
rl_list_possib(pathname, avp)
char *pathname;
char ***avp;
{
char *dir;
char *file;
int ac;
if (SplitPath(pathname, &dir, &file) < 0)
return 0;
ac = FindMatches(dir, file, avp);
DISPOSE(dir);
DISPOSE(file);
return ac;
}

178
src/extern/editline/editline.3 vendored Normal file
View File

@ -0,0 +1,178 @@
.\" $Revision: 1.1 $
.TH EDITLINE 3
.SH NAME
editline \- command-line editing library with history
.SH SYNOPSIS
.nf
.B "char *"
.B "readline(prompt)"
.B " char *prompt;"
.B "void"
.B "add_history(line)"
.B " char *line;"
.fi
.SH DESCRIPTION
.I Editline
is a library that provides an line-editing interface with text recall.
It is intended to be compatible with the
.I readline
library provided by the Free Software Foundation, but much smaller.
The bulk of this manual page describes the user interface.
.PP
The
.I readline
routine returns a line of text with the trailing newline removed.
The data is returned in a buffer allocated with
.IR malloc (3),
so the space should be released with
.IR free (3)
when the calling program is done with it.
Before accepting input from the user, the specified
.I prompt
is displayed on the terminal.
.PP
The
.I add_history
routine makes a copy of the specified
.I line
and adds it to the internal history list.
.SS "User Interface"
A program that uses this library provides a simple emacs-like editing
interface to its users.
A line may be edited before it is sent to the calling program by typing either
control characters or escape sequences.
A control character, shown as a caret followed by a letter, is typed by
holding down the ``control'' key while the letter is typed.
For example, ``^A'' is a control-A.
An escape sequence is entered by typing the ``escape'' key followed by one or
more characters.
The escape key is abbreviated as ``ESC''.
Note that unlike control keys, case matters in escape sequences; ``ESC\ F''
is not the same as ``ESC\ f''.
.PP
An editing command may be typed anywhere on the line, not just at the
beginning.
In addition, a return may also be typed anywhere on the line, not just at
the end.
.PP
Most editing commands may be given a repeat count,
.IR n ,
where
.I n
is a number.
To enter a repeat count, type the escape key, the number, and then
the command to execute.
For example, ``ESC\ 4\ ^f'' moves forward four characters.
If a command may be given a repeat count then the text ``[n]'' is given at the
end of its description.
.PP
The following control characters are accepted:
.RS
.nf
.ta \w'ESC DEL 'u
^A Move to the beginning of the line
^B Move left (backwards) [n]
^D Delete character [n]
^E Move to end of line
^F Move right (forwards) [n]
^G Ring the bell
^H Delete character before cursor (backspace key) [n]
^I Complete filename (tab key); see below
^J Done with line (return key)
^K Kill to end of line (or column [n])
^L Redisplay line
^M Done with line (alternate return key)
^N Get next line from history [n]
^P Get previous line from history [n]
^R Search backward (forward if [n]) through history for text;
\& prefixing the string with a caret (^) forces it to
\& match only at the beginning of a history line
^T Transpose characters
^V Insert next character, even if it is an edit command
^W Wipe to the mark
^X^X Exchange current location and mark
^Y Yank back last killed text
^[ Start an escape sequence (escape key)
^]c Move forward to next character ``c''
^? Delete character before cursor (delete key) [n]
.fi
.RE
.PP
The following escape sequences are provided.
.RS
.nf
.ta \w'ESC DEL 'u
ESC\ ^H Delete previous word (backspace key) [n]
ESC\ DEL Delete previous word (delete key) [n]
ESC\ ESC Show possible completions; see below
ESC\ SP Set the mark (space key); see ^X^X and ^Y above
ESC\ . Get the last (or [n]'th) word from previous line
ESC\ ? Show possible completions; see below
ESC\ < Move to start of history
ESC\ > Move to end of history
ESC\ b Move backward a word [n]
ESC\ d Delete word under cursor [n]
ESC\ f Move forward a word [n]
ESC\ l Make word lowercase [n]
ESC\ m Toggle if 8bit chars display as themselves or with
\& an ``M\-'' prefix
ESC\ u Make word uppercase [n]
ESC\ y Yank back last killed text
ESC\ w Make area up to mark yankable
ESC\ nn Set repeat count to the number nn
ESC\ C Read from environment variable ``_C_'', where C is
\& an uppercase letter
.fi
.RE
.PP
The
.I editline
library has a small macro facility.
If you type the escape key followed by an uppercase letter,
.IR C ,
then the contents of the environment variable
.I _C_
are read in as if you had typed them at the keyboard.
For example, if the variable
.I _L_
contains the following:
.RS
^A^Kecho '^V^[[H^V^[[2J'^M
.RE
Then typing ``ESC L'' will move to the beginning of the line, kill the
entire line, enter the echo command needed to clear the terminal (if your
terminal is like a VT-100), and send the line back to the shell.
.PP
The
.I editline
library also does filename completion.
Suppose the root directory has the following files in it:
.RS
.nf
.ta \w'core 'u
bin vmunix
core vmunix.old
.fi
.RE
If you type ``rm\ /v'' and then the tab key.
.I Editline
will then finish off as much of the name as possible by adding ``munix''.
Because the name is not unique, it will then beep.
If you type the escape key followed by either a question mark or another
escape, it will display the two choices.
If you then type a period and a tab, the library will finish off the filename
for you:
.RS
.nf
.RI "rm /v[TAB]" munix ".[TAB]" old
.fi
.RE
The tab key is shown by ``[TAB]'' and the automatically-entered text
is shown in italics.
.SH "BUGS AND LIMITATIONS"
Cannot handle lines more than 80 columns.
.SH AUTHORS
Simmule R. Turner <uunet.uu.net!capitol!sysgo!simmy>
and Rich $alz <rsalz@osf.org>.
Original manual page by DaviD W. Sanderson <dws@ssec.wisc.edu>.

1531
src/extern/editline/editline.c vendored Normal file

File diff suppressed because it is too large Load Diff

79
src/extern/editline/editline.h vendored Normal file
View File

@ -0,0 +1,79 @@
/* $Revision: 1.1 $
**
** Internal header file for editline library.
*/
#include <stdio.h>
#if defined(HAVE_STDLIB)
#include <stdlib.h>
#include <string.h>
#endif /* defined(HAVE_STDLIB) */
#if defined(SYS_UNIX)
#include "unix.h"
#endif /* defined(SYS_UNIX) */
#if defined(SYS_OS9)
#include "os9.h"
#endif /* defined(SYS_OS9) */
#if !defined(SIZE_T)
#define SIZE_T unsigned int
#endif /* !defined(SIZE_T) */
typedef unsigned char CHAR;
#if defined(HIDE)
#define STATIC static
#else
#define STATIC /* NULL */
#endif /* !defined(HIDE) */
#if !defined(CONST)
#if defined(__STDC__)
#define CONST const
#else
#define CONST
#endif /* defined(__STDC__) */
#endif /* !defined(CONST) */
#define MEM_INC 64
#define SCREEN_INC 256
#define DISPOSE(p) free((char *)(p))
#define NEW(T, c) \
((T *)malloc((unsigned int)(sizeof (T) * (c))))
#define RENEW(p, T, c) \
(p = (T *)realloc((char *)(p), (unsigned int)(sizeof (T) * (c))))
#define COPYFROMTO(new, p, len) \
(void)memcpy((char *)(new), (char *)(p), (int)(len))
/*
** Variables and routines internal to this package.
*/
extern int rl_eof;
extern int rl_erase;
extern int rl_intr;
extern int rl_kill;
extern int rl_quit;
#if defined(DO_SIGTSTP)
extern int rl_susp;
#endif /* defined(DO_SIGTSTP) */
extern char *rl_complete();
extern int rl_list_possib();
extern void rl_ttyset();
extern void rl_add_slash();
#if !defined(HAVE_STDLIB)
extern char *getenv();
extern char *malloc();
extern char *realloc();
extern char *memcpy();
extern char *strcat();
extern char *strchr();
extern char *strrchr();
extern char *strcpy();
extern char *strdup();
extern int strcmp();
extern int strlen();
extern int strncmp();
#endif /* !defined(HAVE_STDLIB) */

10
src/extern/editline/os9.h vendored Normal file
View File

@ -0,0 +1,10 @@
/* $Revision: 1.1 $
**
** Editline system header file for OS-9 (on 68k).
*/
#define CRLF "\r\l"
#define FORWARD extern
#include <dir.h>
typedef struct direct DIRENTRY;

46
src/extern/editline/sysos9.c vendored Normal file
View File

@ -0,0 +1,46 @@
/* $Revision: 1.1 $
**
** OS-9 system-dependant routines for editline library.
*/
#include "editline.h"
#include <sgstat.h>
#include <modes.h>
void
rl_ttyset(Reset)
int Reset;
{
static struct sgbuf old;
struct sgbuf new;
if (Reset == 0) {
_gs_opt(0, &old);
_gs_opt(0, &new);
new.sg_backsp = 0; new.sg_delete = 0; new.sg_echo = 0;
new.sg_alf = 0; new.sg_nulls = 0; new.sg_pause = 0;
new.sg_page = 0; new.sg_bspch = 0; new.sg_dlnch = 0;
new.sg_eorch = 0; new.sg_eofch = 0; new.sg_rlnch = 0;
new.sg_dulnch = 0; new.sg_psch = 0; new.sg_kbich = 0;
new.sg_kbach = 0; new.sg_bsech = 0; new.sg_bellch = 0;
new.sg_xon = 0; new.sg_xoff = 0; new.sg_tabcr = 0;
new.sg_tabsiz = 0;
_ss_opt(0, &new);
rl_erase = old.sg_bspch;
rl_kill = old.sg_dlnch;
rl_eof = old.sg_eofch;
rl_intr = old.sg_kbich;
rl_quit = -1;
}
else
_ss_opt(0, &old);
}
void
rl_add_slash(path, p)
char *path;
char *p;
{
(void)strcat(p, access(path, S_IREAD | S_IFDIR) ? " " : "/");
}

132
src/extern/editline/sysunix.c vendored Normal file
View File

@ -0,0 +1,132 @@
/* $Revision: 1.1 $
**
** Unix system-dependant routines for editline library.
*/
#include "editline.h"
#if defined(HAVE_TCGETATTR)
#include <termios.h>
void
rl_ttyset(Reset)
int Reset;
{
static struct termios old;
struct termios new;
if (Reset == 0) {
if (tcgetattr(0, &old) < 0) perror("tcgetattr");
rl_erase = old.c_cc[VERASE];
rl_kill = old.c_cc[VKILL];
rl_eof = old.c_cc[VEOF];
rl_intr = old.c_cc[VINTR];
rl_quit = old.c_cc[VQUIT];
#if defined(DO_SIGTSTP)
rl_susp = old.c_cc[VSUSP];
#endif /* defined(DO_SIGTSTP) */
new = old;
new.c_lflag &= ~(ECHO | ICANON | ISIG);
new.c_iflag &= ~(ISTRIP | INPCK);
new.c_cc[VMIN] = 1;
new.c_cc[VTIME] = 0;
if (tcsetattr(0, TCSADRAIN, &new) < 0) perror("tcsetattr");
}
else
(void)tcsetattr(0, TCSADRAIN, &old);
}
#else
#if defined(HAVE_TERMIO)
#include <termio.h>
void
rl_ttyset(Reset)
int Reset;
{
static struct termio old;
struct termio new;
if (Reset == 0) {
(void)ioctl(0, TCGETA, &old);
rl_erase = old.c_cc[VERASE];
rl_kill = old.c_cc[VKILL];
rl_eof = old.c_cc[VEOF];
rl_intr = old.c_cc[VINTR];
rl_quit = old.c_cc[VQUIT];
#if defined(DO_SIGTSTP)
rl_susp = old.c_cc[VSUSP];
#endif /* defined(DO_SIGTSTP) */
new = old;
new.c_lflag &= ~(ECHO | ICANON | ISIG);
new.c_iflag &= ~(ISTRIP | INPCK);
new.c_cc[VMIN] = 1;
new.c_cc[VTIME] = 0;
(void)ioctl(0, TCSETAW, &new);
}
else
(void)ioctl(0, TCSETAW, &old);
}
#else
#include <sgtty.h>
void
rl_ttyset(Reset)
int Reset;
{
static struct sgttyb old_sgttyb;
static struct tchars old_tchars;
struct sgttyb new_sgttyb;
struct tchars new_tchars;
#if defined(DO_SIGTSTP)
struct ltchars old_ltchars;
#endif /* defined(DO_SIGTSTP) */
if (Reset == 0) {
(void)ioctl(0, TIOCGETP, &old_sgttyb);
rl_erase = old_sgttyb.sg_erase;
rl_kill = old_sgttyb.sg_kill;
(void)ioctl(0, TIOCGETC, &old_tchars);
rl_eof = old_tchars.t_eofc;
rl_intr = old_tchars.t_intrc;
rl_quit = old_tchars.t_quitc;
#if defined(DO_SIGTSTP)
(void)ioctl(0, TIOCGLTC, &old_ltchars);
rl_susp = old_ltchars.t_suspc;
#endif /* defined(DO_SIGTSTP) */
new_sgttyb = old_sgttyb;
new_sgttyb.sg_flags &= ~ECHO;
new_sgttyb.sg_flags |= RAW;
#if defined(PASS8)
new_sgttyb.sg_flags |= PASS8;
#endif /* defined(PASS8) */
(void)ioctl(0, TIOCSETP, &new_sgttyb);
new_tchars = old_tchars;
new_tchars.t_intrc = -1;
new_tchars.t_quitc = -1;
(void)ioctl(0, TIOCSETC, &new_tchars);
}
else {
(void)ioctl(0, TIOCSETP, &old_sgttyb);
(void)ioctl(0, TIOCSETC, &old_tchars);
}
}
#endif /* defined(HAVE_TERMIO) */
#endif /* defined(HAVE_TCGETATTR) */
void
rl_add_slash(path, p)
char *path;
char *p;
{
struct stat Sb;
if (stat(path, &Sb) >= 0)
(void)strcat(p, S_ISDIR(Sb.st_mode) ? "/" : " ");
}

64
src/extern/editline/testit.c vendored Normal file
View File

@ -0,0 +1,64 @@
/* $Revision: 1.1 $
**
** A "micro-shell" to test editline library.
** If given any arguments, commands aren't executed.
*/
#include <stdio.h>
#if defined(HAVE_STDLIB)
#include <stdlib.h>
#endif /* defined(HAVE_STDLIB) */
extern char *readline();
extern void add_history();
#if !defined(HAVE_STDLIB)
extern int chdir();
extern int free();
extern int strncmp();
extern int system();
extern void exit();
extern char *getenv();
#endif /* !defined(HAVE_STDLIB) */
#if defined(NEED_PERROR)
void
perror(s)
char *s;
{
extern int errno;
(voidf)printf(stderr, "%s: error %d\n", s, errno);
}
#endif /* defined(NEED_PERROR) */
/* ARGSUSED1 */
int
main(ac, av)
int ac;
char *av[];
{
char *prompt;
char *p;
int doit;
doit = ac == 1;
if ((prompt = getenv("TESTPROMPT")) == NULL)
prompt = "testit> ";
while ((p = readline(prompt)) != NULL) {
(void)printf("\t\t\t|%s|\n", p);
if (doit)
if (strncmp(p, "cd ", 3) == 0) {
if (chdir(&p[3]) < 0)
perror(&p[3]);
}
else if (system(p) != 0)
perror(p);
add_history(p);
free(p);
}
exit(0);
/* NOTREACHED */
}

22
src/extern/editline/unix.h vendored Normal file
View File

@ -0,0 +1,22 @@
/* $Revision: 1.1 $
**
** Editline system header file for Unix.
*/
#define CRLF "\r\n"
#define FORWARD STATIC
#include <sys/types.h>
#include <sys/stat.h>
#if defined(USE_DIRENT)
#include <dirent.h>
typedef struct dirent DIRENTRY;
#else
#include <sys/dir.h>
typedef struct direct DIRENTRY;
#endif /* defined(USE_DIRENT) */
#if !defined(S_ISDIR)
#define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR)
#endif /* !defined(S_ISDIR) */

56
src/include/editline.h Normal file
View File

@ -0,0 +1,56 @@
#ifndef INCLUDE_EDITLINE_H
#define INCLUDE_EDITLINE_H
/*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
* You may obtain a copy of the Licence at
* http://www.gnu.org/licences/lgpl.html
*
* As a special exception this file can also be included in modules
* with other source code as long as that source code has been
* released under an Open Source Initiative certificed licence.
* More information about OSI certification can be found at:
* http://www.opensource.org
*
* This module is distributed in the hope that it 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 Licence for more details.
*
* This module was created by members of the firebird development
* team. All individual contributions remain the Copyright (C) of
* those individuals and all rights are reserved. Contributors to
* this file are either listed below or can be obtained from a CVS
* history command.
*
* Created by: Mark O'Donohue <mark.odonohue@ludwig.edu.au>
*
* Contributor(s):
*
*
* $Id: editline.h,v 1.1 2002-10-07 01:29:11 skywalker Exp $
*
*/
// This file defines the ansi headers for the editline library which
// did not have it's own ansi header. This is an external module
// which we have included to replace readline which does not
// have a compatible licence for us to use. MOD 7-Oct-2002
#ifdef __cplusplus
extern "C" {
#endif
extern char *readline(const char*);
extern void add_history(char*);
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif

View File

@ -53,6 +53,7 @@
#define HAVE_STRING_H
#define HAVE_SIGNAL_H
#undef HAVE_READLINE_READLINE_H
#undef HAVE_EDITLINE_H
#undef HAVE_UNISTD_H
#undef HAVE_VARARGS_H
#undef HAVE_VFORK_H

View File

@ -24,7 +24,7 @@
*
*/
/*
$Id: isql.epp,v 1.14 2002-09-27 01:29:50 bellardo Exp $
$Id: isql.epp,v 1.15 2002-10-07 01:29:12 skywalker Exp $
Revision 1.5 2000/11/18 16:49:24 fsg
Increased PRINT_BUFFER_LENGTH to 2048 to show larger plans
Fixed Bug #122563 in extract.e get_procedure_args
@ -66,6 +66,13 @@
#include <signal.h>
#endif
#ifdef HAVE_EDITLINE_H
// This is a local file included in our distribution - but not always
// compiled into the system
#include "editline.h"
#endif
#ifdef HAVE_READLINE_READLINE_H
#include <stdio.h>
#include <readline/readline.h>
@ -679,7 +686,7 @@ static void readNextInputLine(const char* prompt) {
lastInputLine = NULL;
}
#ifdef HAVE_READLINE_READLINE_H
#ifdef HAVE_EDITLINE_H
lastInputLine = readline((char*) prompt);
if (lastInputLine != NULL && strlen(lastInputLine) != 0) {

View File

@ -1,4 +1,4 @@
#ident "$Id: config.h.in,v 1.38 2002-10-01 12:03:10 dimitr Exp $"
#ident "$Id: config.h.in,v 1.39 2002-10-07 01:29:12 skywalker Exp $"
/*
* 2002.02.15 Sean Leyne - Code Cleanup, removed obsolete ports:
@ -18,6 +18,7 @@
#undef HAVE_ASSERT_H
#undef HAVE_CTYPE_H
#undef HAVE_ERRNO_H
#undef HAVE_EDITLINE_H
#undef HAVE_FCNTL_H
#undef HAVE_GRP_H
#undef HAVE_PWD_H

View File

@ -20,7 +20,7 @@
*
* All Rights Reserved.
* Contributor(s): ______________________________________.
* $Id: srvrmgr.cpp,v 1.6 2002-09-20 10:23:15 eku Exp $
* $Id: srvrmgr.cpp,v 1.7 2002-10-07 01:29:12 skywalker Exp $
*/
#include "firebird.h"
@ -45,6 +45,7 @@
#include "../jrd/common.h"
#include "../jrd/gds.h"
#include "../jrd/gds_proto.h"
#include "../jrd/gdsassert.h"
#include "../jrd/svc_undoc.h"
#include "../utilities/ibmgr.h"