From f9b8800970ea8002e498d14baea0308f58709d21 Mon Sep 17 00:00:00 2001 From: paul_reeves Date: Sun, 23 Jun 2002 19:51:37 +0000 Subject: [PATCH] Updated code to support building under Linux. Main changes are to support the platform manager and the move of kanji.* to /intl. --- configure.in | 9 ++++-- src/dsql/dsql.cpp | 7 ++++- src/dudley/hsh.cpp | 2 +- src/dudley/lex.cpp | 2 +- src/dudley/parse.cpp | 2 +- src/gpre/hsh.cpp | 16 +++++----- src/intl/kanji.cpp | 6 ++-- src/jrd/intl.cpp | 23 ++++++++------ src/jrd/os/posix/mod_loader.cpp | 2 +- src/make.new/Makefile.in.example5 | 17 +++++----- src/make.new/Makefile.in.jrd | 9 +++--- src/make.new/config/config.h.in | 6 +++- src/make.new/make.defaults | 8 +++-- src/make.new/make.rules | 50 ++++++++++++++++-------------- src/make.new/make.shared.variables | 38 ++++++++++++++++------- src/make.new/prefix.linux | 11 ++++--- src/qli/eval.cpp | 2 +- src/qli/expand.cpp | 2 +- src/qli/hsh.cpp | 2 +- src/qli/lex.cpp | 2 +- src/qli/meta.epp | 2 +- src/qli/mov.cpp | 2 +- src/qli/parse.cpp | 2 +- src/qli/picstr.cpp | 2 +- src/qli/proc.epp | 2 +- 25 files changed, 136 insertions(+), 90 deletions(-) diff --git a/configure.in b/configure.in index 0af01458cc..3659b741b5 100644 --- a/configure.in +++ b/configure.in @@ -37,7 +37,7 @@ AC_CHECK_HEADERS(ctype.h) AC_CHECK_HEADERS(string.h) AC_CHECK_HEADERS(signal.h) AC_CHECK_HEADERS(readline/readline.h) - +AC_CHECK_HEADERS(pwd.h) AC_MSG_CHECKING(Checking for socklen_t type) AC_TRY_COMPILE([#include @@ -106,7 +106,7 @@ AC_SUBST(FIREBIRD_PACKAGE_VERSION) -PROD_BUILD_FLG= +PROD_BUILD_FLG= #PROD_BUILD_FLG=Y AC_SUBST(PROD_BUILD_FLG) @@ -151,6 +151,11 @@ AC_OUTPUT_COMMANDS([mkdir -p gen/firebird/help]) AC_OUTPUT_COMMANDS([chmod a+x gen/install/install.sh]) AC_OUTPUT_COMMANDS([chmod a+x gen/install/scripts/*.sh]) +AC_OUTPUT_COMMANDS([mkdir -p gen/jrd/os]) +AC_OUTPUT_COMMANDS([mkdir -p gen/jrd/os/darwin]) +AC_OUTPUT_COMMANDS([mkdir -p gen/jrd/os/posix]) +AC_OUTPUT_COMMANDS([mkdir -p gen/jrd/os/win32]) + AC_OUTPUT( \ src/make.rules:src/make.new/make.rules \ diff --git a/src/dsql/dsql.cpp b/src/dsql/dsql.cpp index ac7d8b3098..6b66783be6 100644 --- a/src/dsql/dsql.cpp +++ b/src/dsql/dsql.cpp @@ -25,7 +25,7 @@ * December 2001 Mike Nordell: Major overhaul to (try to) make it C++ */ /* -$Id: dsql.cpp,v 1.11 2002-06-14 12:07:18 dimitr Exp $ +$Id: dsql.cpp,v 1.12 2002-06-23 19:51:29 paul_reeves Exp $ */ /************************************************************** V4 Multi-threading changes. @@ -85,6 +85,11 @@ nested FOR loops are added. #include "../jrd/thd_proto.h" #include "../jrd/why_proto.h" #include "../jrd/gds.h" +#include + +#ifdef HAVE_CTYPE_H +#include +#endif ASSERT_FILENAME #ifdef VMS diff --git a/src/dudley/hsh.cpp b/src/dudley/hsh.cpp index 7bab902a32..9d50f23ff0 100644 --- a/src/dudley/hsh.cpp +++ b/src/dudley/hsh.cpp @@ -26,7 +26,7 @@ #include "../dudley/parse.h" #if (defined JPN_SJIS || defined JPN_EUC) -#include "../jrd/kanji.h" +#include "../intl/kanji.h" #endif #include "../dudley/ddl_proto.h" #include "../dudley/hsh_proto.h" diff --git a/src/dudley/lex.cpp b/src/dudley/lex.cpp index e7aa22877e..7d79720e7e 100644 --- a/src/dudley/lex.cpp +++ b/src/dudley/lex.cpp @@ -29,7 +29,7 @@ #include "../jrd/gds.h" #include "../dudley/ddl.h" #include "../dudley/parse.h" -#include "../jrd/kanji.h" +#include "../intl/kanji.h" #include "../dudley/ddl_proto.h" #include "../dudley/hsh_proto.h" #include "../dudley/lex_proto.h" diff --git a/src/dudley/parse.cpp b/src/dudley/parse.cpp index a5c113e264..371464f6ac 100644 --- a/src/dudley/parse.cpp +++ b/src/dudley/parse.cpp @@ -31,7 +31,7 @@ #include "../dudley/ddl.h" #include "../dudley/parse.h" #include "../jrd/acl.h" -#include "../jrd/kanji.h" +#include "../intl/kanji.h" #include "../wal/wal.h" #include "../dudley/ddl_proto.h" #include "../dudley/exe_proto.h" diff --git a/src/gpre/hsh.cpp b/src/gpre/hsh.cpp index 9ad099b017..ac3ecbb3b0 100644 --- a/src/gpre/hsh.cpp +++ b/src/gpre/hsh.cpp @@ -1,38 +1,38 @@ //____________________________________________________________ -// +// // PROGRAM: C preprocessor // MODULE: hsh.cpp // DESCRIPTION: Hash table and symbol manager -// +// // The contents of this file are subject to the Interbase Public // License Version 1.0 (the "License"); you may not use this file // except in compliance with the License. You may obtain a copy // of the License at http://www.Inprise.com/IPL.html -// +// // Software distributed under the License is distributed on an // "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express // or implied. See the License for the specific language governing // rights and limitations under the License. -// +// // The Original Code was created by Inprise Corporation // and its predecessors. Portions created by Inprise Corporation are // Copyright (C) Inprise Corporation. -// +// // All Rights Reserved. // Contributor(s): ______________________________________. // TMN (Mike Nordell) 11.APR.2001 - Reduce compiler warnings -// +// // //____________________________________________________________ // -// $Id: hsh.cpp,v 1.4 2001-12-24 02:50:49 tamlin Exp $ +// $Id: hsh.cpp,v 1.5 2002-06-23 19:51:30 paul_reeves Exp $ // #include "firebird.h" #include "../gpre/gpre.h" #include "../gpre/parse.h" #ifdef JPN_SJIS -#include "../jrd/kanji.h" +#include "../intl/kanji.h" #endif #include "../gpre/hsh_proto.h" #include "../gpre/gpre_proto.h" diff --git a/src/intl/kanji.cpp b/src/intl/kanji.cpp index 70211da778..89f1a58223 100644 --- a/src/intl/kanji.cpp +++ b/src/intl/kanji.cpp @@ -1,7 +1,7 @@ /* * PROGRAM: JRD Access Method * MODULE: kanji.c - * DESCRIPTION: + * DESCRIPTION: * * The contents of this file are subject to the Interbase Public * License Version 1.0 (the "License"); you may not use this file @@ -24,8 +24,8 @@ #include "firebird.h" #include "../jrd/ib_stdio.h" #include "../jrd/common.h" -#include "../jrd/kanji.h" -#include "../jrd/kanji_proto.h" +#include "kanji.h" +#include "kanji_proto.h" #define S2E(s1, s2, j1, j2) \ diff --git a/src/jrd/intl.cpp b/src/jrd/intl.cpp index 8f1f17e341..5a8e841316 100644 --- a/src/jrd/intl.cpp +++ b/src/jrd/intl.cpp @@ -5,6 +5,11 @@ * from dev db on 4-JAN-1995 ***************************************************************** * +* PR 2002-06-02 Added ugly c hack in +* intl_back_compat_alloc_func_lookup. +* When someone has time we need to change the references to +* return (void*) function to something more C++ like +* * 42 4711 3 11 17 tamlin 2001 * Added silly numbers before my name, and converted it to C++. * @@ -2084,7 +2089,7 @@ public: (tt->texttype_fn_matches))) (tdbb,tt,a,b,c,d); } - + unsigned short sleuth_check(TDBB tdbb, unsigned short a, unsigned char *b, unsigned short c, @@ -2115,7 +2120,7 @@ public: (tt->texttype_fn_sleuth_merge))) (tdbb,tt,a,b,c,d,e,f); } - + private: struct texttype *tt; }; @@ -2135,8 +2140,8 @@ static void* intl_back_compat_obj_init_lookup( * Find the allocator function for the requested international * character set using the obsolete c/IB/FB 6.0 interface. * Search algorithm is: - * Look in intllib - * Look in intllib2 + * Look in intllib + * Look in intllib2 * Look for a normal UDF entry * Abort with an error. * @@ -2148,13 +2153,13 @@ static void* intl_back_compat_obj_init_lookup( * ***************************************/ USHORT (*function)(); - + if (!bcLoaded) { intlBCPlugins.addSearchPath(INTL_PLUGIN_DIR); bcLoaded = true; } - + PluginManager::Plugin intlMod1 = intlBCPlugins.findPlugin(INTL_MODULE1); PluginManager::Plugin intlMod2 = intlBCPlugins.findPlugin(INTL_MODULE2); @@ -2181,7 +2186,7 @@ static void* intl_back_compat_obj_init_lookup( } else { - return function; + return (void*) function; } } #endif @@ -2204,7 +2209,7 @@ static void* intl_back_compat_obj_init_lookup( } else { - return function; + return (void*) function; } } #endif @@ -2255,7 +2260,7 @@ static void* intl_back_compat_obj_init_lookup( dtype_text)) { function = (FPTR_SHORT) function_block->fun_entrypoint; - return function; + return (void*) function; } } return NULL; diff --git a/src/jrd/os/posix/mod_loader.cpp b/src/jrd/os/posix/mod_loader.cpp index d01d9edc64..9cec820ee8 100644 --- a/src/jrd/os/posix/mod_loader.cpp +++ b/src/jrd/os/posix/mod_loader.cpp @@ -4,7 +4,7 @@ */ #include "../jrd/os/mod_loader.h" -#include "common.h" +#include "../../common.h" #include #include #include diff --git a/src/make.new/Makefile.in.example5 b/src/make.new/Makefile.in.example5 index 62b8a5e25f..27843dda60 100644 --- a/src/make.new/Makefile.in.example5 +++ b/src/make.new/Makefile.in.example5 @@ -1,4 +1,4 @@ -# +# # The contents of this file are subject to the Mozilla Public # License Version 1.1 (the "License"); you may not use this file # except in compliance with the License. You may obtain a copy of @@ -8,7 +8,7 @@ # "GPL"), in which case the provisions of the GPL are applicable # instead of those above. You may obtain a copy of the Licence at # http://www.gnu.org/copyleft/gpl.html -# +# # This program 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 @@ -26,7 +26,7 @@ # Contributor(s): # # -# $Id: Makefile.in.example5,v 1.3 2001-12-24 02:50:52 tamlin Exp $ +# $Id: Makefile.in.example5,v 1.4 2002-06-23 19:51:30 paul_reeves Exp $ # ROOT=../.. @@ -67,7 +67,10 @@ CFLAGS := $(CFLAGS) -I$(FIREBIRD)/include all: v5_examples -v5_examples: employee.gdb intlemp.gdb $(NT_EXAMPLES) makefile.example +# PR 2002-06-23 - Temporarily removed intlemp from the build as it caused a segfault +# The lines to change back are prefixed with ## +##v5_examples: employee.gdb intlemp.gdb $(NT_EXAMPLES) makefile.example +v5_examples: employee.gdb $(NT_EXAMPLES) makefile.example $(CP) $(EXAMPLES_SRC)readme $(EXAMPLES_DEST)README $(CP) $(EXAMPLES_SRC)align.h $(EXAMPLES_DEST)align.h $(CP) $(EXAMPLES_SRC)api1.c $(EXAMPLES_DEST)api1.c @@ -102,9 +105,9 @@ v5_examples: employee.gdb intlemp.gdb $(NT_EXAMPLES) makefile.example $(GBAK) -r $(EXAMPLES_DEST)employee.gbk $(EXAMPLES_DEST)employee.gdb $(CP) $(EXAMPLES_SRC)example.h $(EXAMPLES_DEST)example.h $(CP) $(EXAMPLES_SRC)api9f.sql $(EXAMPLES_DEST)api9f.sql - $(GBAK) intlemp.gdb $(EXAMPLES_DEST)intlemp.gbk +## $(GBAK) intlemp.gdb $(EXAMPLES_DEST)intlemp.gbk # -$(RM) $(EXAMPLES_DEST)intlemp.gdb - $(GBAK) -r $(EXAMPLES_DEST)intlemp.gbk $(EXAMPLES_DEST)intlemp.gdb +## $(GBAK) -r $(EXAMPLES_DEST)intlemp.gbk $(EXAMPLES_DEST)intlemp.gdb $(CP) $(EXAMPLES_SRC)stat1.e $(EXAMPLES_DEST)stat1.e $(CP) $(EXAMPLES_SRC)stat10.e $(EXAMPLES_DEST)stat10.e $(CP) $(EXAMPLES_SRC)stat11.e $(EXAMPLES_DEST)stat11.e @@ -157,7 +160,7 @@ empbuild.exe: $(EMPBLD_OBJ) empbuild.c: empbuild.gdb empbuild.e -empbuild.gdb : empddl.sql empbld.sql +empbuild.gdb : empddl.sql empbld.sql -$(RM) $@ $(ISQL) -i empbld.sql diff --git a/src/make.new/Makefile.in.jrd b/src/make.new/Makefile.in.jrd index 6560062183..c4dc7da4ed 100644 --- a/src/make.new/Makefile.in.jrd +++ b/src/make.new/Makefile.in.jrd @@ -26,7 +26,7 @@ # Contributor(s): # # -# $Id: Makefile.in.jrd,v 1.11 2002-02-16 02:21:27 seanleyne Exp $ +# $Id: Makefile.in.jrd,v 1.12 2002-06-23 19:51:30 paul_reeves Exp $ # # 2002.02.15 Sean Leyne - Code Cleanup, removed obsolete "EPSON" define # @@ -85,7 +85,7 @@ $(LIBGDS_A) : $(GDSLIB_Objects) # This is the first dynamic link library that we build in phase2 it still # does not contain security objects. Also used to produce the object files # that the *_static programs link against. -jrdlib_dependencies: $(JRD_Objects) +jrdlib_dependencies: $(JRD_Objects) $(OS_SPECIFIC_Objects) @@ -412,6 +412,7 @@ gds.dylib: $(DO_FORCE) \ $(LOCK_P_MISC) $(REMOTE_P_MISC) $(SECURITY_P_MISC) $(BRIDGE_P_MISC) \ $(INTL_P_MISC) $(WAL_P_MISC) \ $(FUNCTIONS) $(PYXIS_P_OBJECTS) $(PYXIS_P_MISC) + -$(RM) gds.dylib libtool -dynamic -o gds.dylib -current_version $(FW_VERS) \ -compatibility_version $(FW_COMPAT_VERS) \ @@ -795,10 +796,10 @@ head5.bin: head.cpp $(CXX) -c $(PIC_FLAGS) $(CXX_INCLUDE_DIRS) $(VERSION_FLAG) -DGDS_PIPE=\"bin/gds_pipe5\" $< -o $@ -AllObjects = $(BOOT_Objects) $(JRD_Objects) +AllObjects = $(BOOT_Objects) $(JRD_Objects) $(OS_SPECIFIC_Objects) Dependencies = $(AllObjects:.o=.d) FORCE: --include $(Dependencies) \ No newline at end of file +-include $(Dependencies) diff --git a/src/make.new/config/config.h.in b/src/make.new/config/config.h.in index 89ceebc1c7..cb6ceed33a 100644 --- a/src/make.new/config/config.h.in +++ b/src/make.new/config/config.h.in @@ -33,6 +33,7 @@ #undef HAVE_LIB_IO_H #undef HAVE_SIGNAL_H #undef HAVE_READLINE_READLINE_H +#undef HAVE_PWD_H /* types */ #undef socklen_t @@ -41,6 +42,9 @@ /* Is the platform big endian? */ #define WORDS_BIGENDIAN 0 +/* Are paths case sensitive? */ +#define CASE_SENSITIVITY false + /* CPU types */ #undef PowerPC #undef sparc @@ -69,4 +73,4 @@ #undef mpexl #undef UNIXWARE -#endif \ No newline at end of file +#endif diff --git a/src/make.new/make.defaults b/src/make.new/make.defaults index 768eef535f..aa39f98e10 100755 --- a/src/make.new/make.defaults +++ b/src/make.new/make.defaults @@ -1,4 +1,4 @@ -# +# # The contents of this file are subject to the Mozilla Public # License Version 1.1 (the "License"); you may not use this file # except in compliance with the License. You may obtain a copy of @@ -26,7 +26,7 @@ # Contributor(s): # # -# $Id: make.defaults,v 1.10 2001-12-24 02:50:52 tamlin Exp $ +# $Id: make.defaults,v 1.11 2002-06-23 19:51:30 paul_reeves Exp $ # @@ -180,7 +180,9 @@ ja_JA_MSG = $(FIREBIRD)/ja_JA.msg LIBGDSINTL_LA = $(FIREBIRD)/intl/libgdsintl.so - +#Platform Manager +#For want of a better suggestion we may as well default to posix +PLATFORM_PATH = jrd/os/posix diff --git a/src/make.new/make.rules b/src/make.new/make.rules index 7c4a94ed99..c9e00a4433 100644 --- a/src/make.new/make.rules +++ b/src/make.new/make.rules @@ -1,4 +1,4 @@ -# +# # The contents of this file are subject to the Mozilla Public # License Version 1.1 (the "License"); you may not use this file # except in compliance with the License. You may obtain a copy of @@ -8,26 +8,26 @@ # "GPL"), in which case the provisions of the GPL are applicable # instead of those above. You may obtain a copy of the Licence at # http://www.gnu.org/copyleft/gpl.html -# +# # This program 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 # Relevant for more details. -# +# # This file was created by members of the firebird development team. # All individual contributions remain the Copyright (C) of those # individuals. Contributors to this file are either listed here or # can be obtained from a CVS history command. -# +# # All rights reserved. # # Created by: Mark O'Donohue -# +# # Contributor(s): -# -# -# $Id: make.rules,v 1.13 2002-01-04 11:34:16 skywalker Exp $ -# +# +# +# $Id: make.rules,v 1.14 2002-06-23 19:51:30 paul_reeves Exp $ +# #____________________________________________________________________________ @@ -36,11 +36,11 @@ UseSharedLibraries = Yes # If empty then we build static linked exe's # which are useful for debugging. - # This variable is used to determined flags for + # This variable is used to determined flags for # libtool/ar/ld we define the gds.a/so library name # in LIBGDS_LA and in Makefile.in.jrd where we do the # creation of the libgds.a/so library. - + #UseLibToolForLink = Yes # Currently we do not use it - but may in the future #IsProdTypeBuild = Yes # If this is defined then we are building a production @@ -85,7 +85,7 @@ SOURCE=$(ROOT)/src CFLAGS:= $(CFLAGS) -g -pipe -MMD -p -fPIC -Wall -I$(ROOT)/src -I$(ROOT)/src/include -CXXFLAGS:= $(CXXFLAGS) $(CFLAGS) +CXXFLAGS:= $(CXXFLAGS) $(CFLAGS) #CC = libtool @CC@ #CXX = libtool @CXX@ @@ -97,11 +97,11 @@ CXX = @CXX@ # Most of the libraries and programs are linked using the dynamic linker # We default to using the dynamic linker and have a special link macros for -# using the static linker. +# using the static linker. # # Also libtool looks like the future in cross platform shared object compile -# and linking, but unfortunately it does not yet work for us, as a -# libtool gcc -o $(BIN)/fred fred.o libzzz.la +# and linking, but unfortunately it does not yet work for us, as a +# libtool gcc -o $(BIN)/fred fred.o libzzz.la # command will generate incorrect relative addresses in the wrapper script in # $(BIN)/fred as it required the exe file fred to be in the directory from # which the command is run from. @@ -115,7 +115,7 @@ CXX = @CXX@ ifdef UseLibToolForLink - LIB_LINK= libtool @CC@ + LIB_LINK= libtool @CC@ STATICLIB_LINK = libtool @CC@ -all-static LIB_LINK_OPTIONS = -version-info 0:0:0 -release 1.5.0.0 -rpath /usr/lib @@ -124,7 +124,7 @@ ifdef UseLibToolForLink else LIB_LINK= g++ -shared - STATICLIB_LINK= ar cruvs + STATICLIB_LINK= ar cruvs # LIB_LINK_OPTIONS = -soname libgds.so -rpath /usr/lib # LIB_LINK_OPTIONS = -soname libgds.so.2 -rpath /usr/lib LIB_LINK_OPTIONS = @@ -139,8 +139,12 @@ endif LINK_OPTIONS= - -ReadlineLibs = -lreadline -ltermcap +# ReadlineLibs - choose one of the following depending upon your +# OS and distribution. SuSE is happy with just -lreadline +# This is something that we should pick up with autoconf. +#ReadlineLibs = -lreadline -ltermcap +#ReadlineLibs = -lreadline -lncurses +ReadlineLibs = -lreadline LINK_LIBS= -lm -lstdc++ $(ReadlineLibs) -lc -ldl -lcrypt STATICLINK_LIBS = -lm -lstdc++ $(ReadlineLibs) -lc -ldl -lcrypt @@ -151,8 +155,8 @@ STATICLINK_LIBS = -lm -lstdc++ $(ReadlineLibs) -lc -ldl -lcrypt # These should no longer be required but I've left here # in case someone needs to know what they were -#STATICLIBTOOL= libtool gcc -static -#STATIC_LINK_OPTIONS= -static +#STATICLIBTOOL= libtool gcc -static +#STATIC_LINK_OPTIONS= -static #STATIC_LINK_LIBS= -lm -lc -mieee-fp -ldl -lcrypt #SHLIB_LINK_OPTIONS = -shared @@ -167,10 +171,10 @@ endif # Here we have definitions for using the preprocessor. -# The GPRE_FLAGS is overwritten in Makefile.in.jrd Makefile.in.gpre and +# The GPRE_FLAGS is overwritten in Makefile.in.jrd Makefile.in.gpre and # since they do something extra to allow the boot build to work. # -# One other point is that sometimes a failure in compile with gpre does not +# One other point is that sometimes a failure in compile with gpre does not # result in an error being generated. The generated source file still # compiles and throws the make off the path. # diff --git a/src/make.new/make.shared.variables b/src/make.new/make.shared.variables index 190bc2e93a..9bfe45af2e 100644 --- a/src/make.new/make.shared.variables +++ b/src/make.new/make.shared.variables @@ -4,8 +4,8 @@ # # jrd -# to get at the database. why.cpp is the normal one whybk.cpp is the one -# compiled with a BACKEND flag, it seems to be (from a quick look at +# to get at the database. why.cpp is the normal one whybk.cpp is the one +# compiled with a BACKEND flag, it seems to be (from a quick look at # the code) to allow the use of another library to talk to data from # and earlier version data file. (Good way to achieve back portability) # In the current builds only why.cpp is used, to build using whybk.cpp you @@ -17,19 +17,21 @@ WHY_BACKEND_Sources= whybk.c # why.c does the switch to determine the actual implementation to use JRD_Sources= ail.cpp all.cpp alt.cpp bookmark.cpp blb.cpp blob_filter.cpp btr.cpp builtin.cpp \ - cch.cpp cmp.cpp cvt.cpp cvt2.cpp \ + cch.cpp cmp.cpp cvt.cpp cvt2.cpp db_alias.cpp \ dfw.cpp divorce.cpp dls.cpp dpm.cpp dsc.cpp dyn.cpp dyn_def.cpp dyn_del.cpp \ dyn_mod.cpp dyn_util.cpp enc.cpp err.cpp iberr.cpp \ event.cpp evl.cpp exe.cpp ext.cpp filters.cpp flu.cpp fun.cpp functions.cpp \ - gds.cpp grant.cpp idx.cpp inf.cpp ini.cpp intl.cpp inuse.cpp \ + gds.cpp grant.cpp idx.cpp inf.cpp ini.cpp intl.cpp intl_builtin.cpp inuse.cpp \ isc.cpp isc_file.cpp isc_ipc.cpp isc_sync.cpp \ jrd.cpp jrn.cpp lck.cpp llio.cpp log.cpp met.cpp \ misc.cpp mov.cpp nav.cpp old.cpp opt.cpp pag.cpp par.cpp pcmet.cpp \ - perf.cpp pwd.cpp rec.cpp rlck.cpp \ + perf.cpp plugin_manager.cpp pwd.cpp rec.cpp rlck.cpp \ rng.cpp rse.cpp sbm.cpp sch.cpp scl.cpp \ - sdl.cpp sdw.cpp shut.cpp sort.cpp sqz.cpp status.cpp svc.cpp sym.cpp thd.cpp tpc.cpp \ - tra.cpp utl.cpp val.cpp vio.cpp \ - $(IO_Sources) $(DEBUG_Sources) $(WHY_Sources) + sdl.cpp sdw.cpp shut.cpp sort.cpp sort_mem.cpp sqz.cpp status.cpp svc.cpp sym.cpp \ + thd.cpp tpc.cpp tra.cpp utl.cpp val.cpp vio.cpp \ + $(IO_Sources) $(DEBUG_Sources) $(WHY_Sources) \ + ../common/fb_exception.cpp + JRD_ObjectsX = $(JRD_Sources:%.cpp=$(GEN_ROOT)/jrd/%.o) JRD_Objects = $(JRD_ObjectsX:%.c=$(GEN_ROOT)/jrd/%.o) # One extra rule for why.c @@ -146,9 +148,18 @@ FBUTIL_SharedObjects = $(FBUTIL_Objects:.o=.lo) FBMemory_Sources=allocators.cpp memory_pool.cpp FBMemory_Objects = $(FBMemory_Sources:%.cpp=$(GEN_ROOT)/common/memory/%.o) -FBMemory_SharedObjects = $(FB_Objects:.o=.lo) +FBMemory_SharedObjects = $(FB_MemoryObjects:.o=.lo) +#________________________________________________________________________ +# +# Platform Manager + +OS_SPECIFIC_Sources= $(PLATFORM_PATH)/path_utils.cpp $(PLATFORM_PATH)/mod_loader.cpp + +OS_SPECIFIC_Objects =$(OS_SPECIFIC_Sources:%.cpp=$(GEN_ROOT)/%.o) +OS_SPECIFIC_SharedObjects =$(OS_SPECIFIC_Objects:.o=.lo) + #________________________________________________________________________ # @@ -156,7 +167,8 @@ FBMemory_SharedObjects = $(FB_Objects:.o=.lo) # These are the lists of object/shared object files that will go into libgds.a # and libgds.so. -GDSLIB_Objects = $(JRD_Objects) \ +GDSLIB_Objects =$(OS_SPECIFIC_Objects) \ + $(JRD_Objects) \ $(DSQL_Objects) \ $(LOCK_Objects) \ $(INTERFACE_Objects) \ @@ -170,7 +182,8 @@ GDSLIB_Objects = $(JRD_Objects) \ # Notice that $(SECURITY_Objects) are missing, because that file can't be # compiled until later in the build process. -BOOT_GDSLIB_Objects = $(JRD_Objects) \ +BOOT_GDSLIB_Objects = $(OS_SPECIFIC_Objects) \ + $(JRD_Objects) \ $(DSQL_Objects) \ $(LOCK_Objects) \ $(INTERFACE_Objects) \ @@ -178,4 +191,5 @@ BOOT_GDSLIB_Objects = $(JRD_Objects) \ $(WAL_Objects) \ $(GPRELIB_Objects) \ $(FBUTIL_Objects) \ - $(FBMemory_Objects) + $(FBMemory_Objects)\ + diff --git a/src/make.new/prefix.linux b/src/make.new/prefix.linux index e50efb017a..9cff18177d 100644 --- a/src/make.new/prefix.linux +++ b/src/make.new/prefix.linux @@ -15,9 +15,10 @@ # All Rights Reserved. # Contributor(s): ______________________________________. # Start of file prefix.linux: $(VERSION) $(PLATFORM) -#$Id: prefix.linux,v 1.3 2002-01-04 11:34:16 skywalker Exp $ +#$Id: prefix.linux,v 1.4 2002-06-23 19:51:30 paul_reeves Exp $ #Revision 1.6 2000/12/01 11:20:31 fsg #Added SHRLIB_EXT to prefix.linux +#Added Platform Manager rules PR 2002-06-22 # use the following to define conditional DEV/PROD compile @@ -127,11 +128,13 @@ LX_SUPER_GDSSHR= source/interbase/lib/gds.so.1 SUPER_CLIENT_GDSSHR= $(LX_SUPER_GDSSHR) SUPER_BACKEND= source/jrd/gds_ss.a SUPER_LINK= -Lsource/jrd -lgds_ss -lc -ldl -lcrypt -lpthread -SUPER_SERVER= - -UTILITIES= +SUPER_SERVER= +UTILITIES= +#------------------------------------ +# Platform Manager stuff +PLATFORM_PATH= jrd/os/posix # End of file prefix.linux: $(VERSION) $(PLATFORM) diff --git a/src/qli/eval.cpp b/src/qli/eval.cpp index f35d1b6c1b..3b5bc40759 100644 --- a/src/qli/eval.cpp +++ b/src/qli/eval.cpp @@ -29,7 +29,7 @@ #include "../qli/dtr.h" #include "../qli/exe.h" #if (defined JPN_EUC || defined JPN_SJIS) -#include "../jrd/kanji.h" +#include "../intl/kanji.h" #endif /* (defined JPN_EUC || defined JPN_SJIS) */ #include "../qli/err_proto.h" #include "../qli/eval_proto.h" diff --git a/src/qli/expand.cpp b/src/qli/expand.cpp index 2038f3c614..2b9ddfb362 100644 --- a/src/qli/expand.cpp +++ b/src/qli/expand.cpp @@ -30,7 +30,7 @@ #include "../qli/report.h" #include "../qli/form.h" #ifdef JPN_SJIS -#include "../jrd/kanji.h" +#include "../intl/kanji.h" #endif #include "../qli/all_proto.h" #include "../qli/comma_proto.h" diff --git a/src/qli/hsh.cpp b/src/qli/hsh.cpp index 275452e92d..ca5709544a 100644 --- a/src/qli/hsh.cpp +++ b/src/qli/hsh.cpp @@ -25,7 +25,7 @@ #include "../qli/dtr.h" #include "../qli/parse.h" #ifdef JPN_SJIS -#include "../jrd/kanji.h" +#include "../intl/kanji.h" #endif #include "../qli/all_proto.h" #include "../qli/err_proto.h" diff --git a/src/qli/lex.cpp b/src/qli/lex.cpp index 554cce5a30..e2c23158d6 100644 --- a/src/qli/lex.cpp +++ b/src/qli/lex.cpp @@ -30,7 +30,7 @@ #include "../qli/parse.h" #include "../jrd/gds.h" #if (defined JPN_SJIS || defined JPN_EUC) -#include "../jrd/kanji.h" +#include "../intl/kanji.h" #endif #include "../qli/all_proto.h" #include "../qli/err_proto.h" diff --git a/src/qli/meta.epp b/src/qli/meta.epp index 7dfe54e3d4..6c7249ff39 100644 --- a/src/qli/meta.epp +++ b/src/qli/meta.epp @@ -32,7 +32,7 @@ #include "../jrd/gds.h" #include "../qli/reqs.h" #if (defined JPN_SJIS || defined JPN_EUC) -#include "../jrd/kanji.h" +#include "../intl/kanji.h" #endif #include "../qli/all_proto.h" #include "../qli/err_proto.h" diff --git a/src/qli/mov.cpp b/src/qli/mov.cpp index 7b665671e7..32887a952a 100644 --- a/src/qli/mov.cpp +++ b/src/qli/mov.cpp @@ -32,7 +32,7 @@ #include "../jrd/time.h" #include "../jrd/intl.h" #if (defined JPN_SJIS || defined JPN_EUC) -#include "../jrd/kanji.h" +#include "../intl/kanji.h" #endif #ifndef PYXIS #include "../qli/err_proto.h" diff --git a/src/qli/parse.cpp b/src/qli/parse.cpp index 3486f1a1e4..c29a37c884 100644 --- a/src/qli/parse.cpp +++ b/src/qli/parse.cpp @@ -32,7 +32,7 @@ #include "../qli/compile.h" #include "../qli/report.h" #if (defined JPN_SJIS || defined JPN_EUC) -#include "../jrd/kanji.h" +#include "../intl/kanji.h" #endif #include "../qli/all_proto.h" #include "../qli/err_proto.h" diff --git a/src/qli/picstr.cpp b/src/qli/picstr.cpp index 32fc00f54e..bef6ba08b4 100644 --- a/src/qli/picstr.cpp +++ b/src/qli/picstr.cpp @@ -37,7 +37,7 @@ #endif #include "../jrd/time.h" #if (defined JPN_SJIS || defined JPN_EUC) -#include "../jrd/kanji.h" +#include "../intl/kanji.h" #endif #include "../jrd/gds_proto.h" diff --git a/src/qli/proc.epp b/src/qli/proc.epp index 1c09ac22ba..11ef7b6924 100644 --- a/src/qli/proc.epp +++ b/src/qli/proc.epp @@ -28,7 +28,7 @@ #include "../qli/parse.h" #include "../qli/compile.h" #if (defined JPN_EUC || defined JPN_SJIS) -#include "../jrd/kanji.h" +#include "../intl/kanji.h" #endif #include "../qli/err_proto.h" #include "../qli/lex_proto.h"