mirror of
https://github.com/FirebirdSQL/firebird.git
synced 2025-01-22 22:43:03 +01:00
ed0e0daeb3
- Plugins API. - Feature CORE-2700 - UDR (User Defined Routines) Engine - C++ API supporting functions, triggers and stored procedures. - Feature CORE-2470 - Support for alternate format of strings literals. - Feature CORE-2310 - DDL triggers. - Feature CORE-2312 - PSQL Packages. - Feature CORE-1209 - CONTINUE statement. - Feature CORE-1180 - DDL syntax to change (not) nullable state of columns. - Feature CORE-2090 - Support OVER () clause with current aggregate functions. - Fixed CORE-2699 - Common table expression context could be used with parameters. - Introduce ODS 12.0. - Work in progress in type-safe parser. - Refactor some DDL commands (procedures and triggers) from DYN to DdlNodes. - Refactor virtual tables to use a class hierarchy instead of namespaces. This is basic thing, not based on the changes done in Vulcan. Window functions is based on this work. - Refactor COMMENT ON and DROP FUNCTION from DYN to DdlNodes. COMMENT ON do not use GDML anymore, it uses DSQL with PreparedStatement class. - Refactor EXECUTE BLOCK to StmtNodes. - Refactor the IUDF to SysFunctions. That eliminates RDB$GET_CONTEXT and RDB$SET_CONTEXT from RDB$FUNCTIONS.
374 lines
13 KiB
Plaintext
374 lines
13 KiB
Plaintext
#
|
|
# 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
|
|
# 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
|
|
# will need to look at what is contained in the original makefiles.
|
|
|
|
WHY_Sources = why.cpp
|
|
|
|
# why.cpp does the switch to determine the actual implementation to use
|
|
|
|
|
|
JRD_ClientFiles = alt.cpp db_alias.cpp dsc.cpp \
|
|
enc.cpp gds.cpp isc.cpp isc_file.cpp isc_ipc.cpp \
|
|
perf.cpp sdl.cpp status.cpp \
|
|
ThreadData.cpp ThreadStart.cpp utl.cpp \
|
|
$(WHY_Sources)
|
|
|
|
JRD_ClientSources = $(addprefix jrd/, $(JRD_ClientFiles)) common/cvt.cpp
|
|
|
|
|
|
JRD_ServerFiles= blob_filter.cpp cvt.cpp dpm.epp dyn.epp dyn_def.epp \
|
|
dyn_del.epp dyn_mod.epp dyn_util.epp fun.epp \
|
|
grant.epp ini.epp met.epp pcmet.epp scl.epp \
|
|
CharSet.cpp Collation.cpp DatabaseSnapshot.cpp VirtualTable.cpp WindowRsb.cpp RecordBuffer.cpp \
|
|
blb.cpp btn.cpp btr.cpp builtin.cpp \
|
|
GlobalRWLock.cpp cch.cpp cmp.cpp cvt2.cpp \
|
|
DataTypeUtil.cpp dfw.cpp UserManagement.cpp divorce.cpp \
|
|
err.cpp event.cpp ErrorImpl.cpp evl.cpp exe.cpp ext.cpp \
|
|
execute_statement.cpp ExtEngineManager.cpp filters.cpp flu.cpp \
|
|
idx.cpp inf.cpp intl.cpp intl_builtin.cpp IntlManager.cpp \
|
|
IntlUtil.cpp isc_sync.cpp \
|
|
jrd.cpp Database.cpp lck.cpp \
|
|
mov.cpp nav.cpp opt.cpp Optimizer.cpp pag.cpp par.cpp \
|
|
ods.cpp PluginManager.cpp pwd.cpp PreparedStatement.cpp RandomGenerator.cpp \
|
|
Relation.cpp ResultSet.cpp rlck.cpp rpb_chain.cpp rse.cpp \
|
|
sdw.cpp shut.cpp sort.cpp sqz.cpp \
|
|
svc.cpp SysFunction.cpp TempSpace.cpp tpc.cpp tra.cpp validation.cpp \
|
|
ValueImpl.cpp ValuesImpl.cpp vio.cpp \
|
|
nodebug.cpp nbak.cpp sha.cpp $(Physical_IO_Module) TextType.cpp \
|
|
unicode_util.cpp RuntimeStatistics.cpp DebugInterface.cpp \
|
|
extds/ExtDS.cpp extds/InternalDS.cpp extds/IscDS.cpp \
|
|
trace/TraceConfigStorage.cpp trace/TraceLog.cpp \
|
|
trace/TraceManager.cpp trace/TraceObjects.cpp
|
|
|
|
JRD_ServerSources = $(addprefix jrd/, $(JRD_ServerFiles))
|
|
JRD_ServerSources += gpre/pretty.cpp
|
|
|
|
JRD_Sources = $(JRD_ClientSources) $(JRD_ServerSources)
|
|
|
|
# expands list to ../<module>/jrd/xx.o entries
|
|
JRD_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(JRD_Sources))))
|
|
|
|
|
|
|
|
# If your platform needs these then you may need
|
|
# to include something like.
|
|
# JRD_P_Sources := $(subst, flu.lo, , $(JRD_P_Sources))
|
|
|
|
|
|
|
|
#________________________________________________________________________
|
|
#
|
|
# dsql
|
|
|
|
DSQL_ClientFiles = array.epp blob.epp \
|
|
preparse.cpp user_dsql.cpp utld.cpp keywords.cpp
|
|
|
|
DSQL_ServerFiles= metd.epp \
|
|
ddl.cpp dsql.cpp errd.cpp gen.cpp hsh.cpp make.cpp \
|
|
movd.cpp parse.cpp Parser.cpp pass1.cpp misc_func.cpp \
|
|
DdlNodes.epp PackageNodes.epp StmtNodes.cpp
|
|
|
|
|
|
DSQL_Files = $(DSQL_ClientFiles) $(DSQL_ServerFiles)
|
|
|
|
DSQL_Sources = $(addprefix dsql/, $(DSQL_Files))
|
|
DSQL_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(DSQL_Sources))))
|
|
|
|
|
|
#________________________________________________________________________
|
|
#
|
|
# lock
|
|
|
|
|
|
LOCK_Files = lock.cpp
|
|
|
|
LOCK_Sources = $(addprefix lock/, $(LOCK_Files))
|
|
LOCK_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(LOCK_Sources))))
|
|
|
|
|
|
#________________________________________________________________________
|
|
#
|
|
# remote
|
|
|
|
REMOTE_CommonFiles = inet.cpp merge.cpp \
|
|
parser.cpp protocol.cpp remote.cpp xdr.cpp
|
|
|
|
REMOTE_ClientFiles = interface.cpp
|
|
|
|
INTERFACE_Files= $(REMOTE_ClientFiles) $(REMOTE_CommonFiles)
|
|
|
|
|
|
INTERFACE_Sources = $(addprefix remote/, $(INTERFACE_Files))
|
|
INTERFACE_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(INTERFACE_Sources))))
|
|
|
|
ifeq ($(PLATFORM),win32)
|
|
REMOTE_CommonFiles += os/win32/wnet.cpp xnet.cpp
|
|
INTERFACE_Objects += $(OBJ)/auth/trusted/AuthSspi.o
|
|
endif
|
|
|
|
#________________________________________________________________________
|
|
#
|
|
# intl
|
|
|
|
# none currently.
|
|
|
|
|
|
#________________________________________________________________________
|
|
#
|
|
# gpre
|
|
|
|
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))))
|
|
|
|
|
|
|
|
#________________________________________________________________________
|
|
#
|
|
# alice
|
|
|
|
ALICE_Files=alice.cpp exe.cpp alice_meta.epp tdr.cpp
|
|
ALICE_Sources = $(addprefix alice/, $(ALICE_Files))
|
|
ALICE_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(ALICE_Sources))))
|
|
|
|
#________________________________________________________________________
|
|
#
|
|
# burp
|
|
|
|
BURP_Files=burp.cpp backup.epp restore.epp mvol.cpp misc.cpp canonical.cpp
|
|
BURP_Sources = $(addprefix burp/, $(BURP_Files))
|
|
BURP_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(BURP_Sources))))
|
|
|
|
#________________________________________________________________________
|
|
#
|
|
# nbackup
|
|
|
|
NBACKUP_SERVER_Files= nbackup.cpp
|
|
NBACKUP_SERVER_Sources = $(addprefix utilities/, $(NBACKUP_SERVER_Files))
|
|
NBACKUP_SERVER_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(NBACKUP_SERVER_Sources))))
|
|
|
|
#________________________________________________________________________
|
|
#
|
|
# ntrace
|
|
|
|
NTRACE_SERVER_Files= TraceCmdLine.cpp TraceService.cpp
|
|
NTRACE_SERVER_Sources = $(addprefix jrd/trace/, $(NTRACE_SERVER_Files))
|
|
NTRACE_SERVER_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(NTRACE_SERVER_Sources))))
|
|
|
|
#________________________________________________________________________
|
|
#
|
|
# utilities
|
|
|
|
SECURITY_ClientFiles_gsec = call_service.cpp
|
|
|
|
SECURITY_ServerFiles_gsec:= security.cpp gsec.cpp
|
|
SECURITY_ServerFiles_gstat:= dba.epp ppg.cpp
|
|
SECURITY_ServerFiles_common:=
|
|
|
|
SECURITY_Files_gsec = $(SECURITY_ClientFiles_gsec) $(SECURITY_ServerFiles_gsec)
|
|
SECURITY_Files_gstat = $(SECURITY_ServerFiles_gstat)
|
|
SECURITY_Files_common = $(SECURITY_ServerFiles_common)
|
|
SECURITY_Sources_gsec = $(addprefix utilities/gsec/, $(SECURITY_Files_gsec))
|
|
SECURITY_Sources_gstat = $(addprefix utilities/gstat/, $(SECURITY_Files_gstat))
|
|
SECURITY_Sources_common = $(addprefix utilities/common/, $(SECURITY_Files_common))
|
|
|
|
SECURITY_Sources = $(SECURITY_Sources_gsec) $(SECURITY_Sources_gstat) $(SECURITY_Sources_common)
|
|
SECURITY_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(SECURITY_Sources))))
|
|
|
|
#________________________________________________________________________
|
|
#
|
|
# fbutil
|
|
|
|
FBUTIL_ClientFiles=
|
|
#FBUTIL_ClientFiles=FirebirdConfig.cpp FirebirdConfigFile.cpp
|
|
FBUTIL_ServerFiles=
|
|
|
|
FBUTIL_Files = $(FBUTIL_ClientFiles) $(FBUTIL_ServerFiles)
|
|
|
|
FBUTIL_Sources = $(addprefix fbutil/, $(FBUTIL_Files))
|
|
FBUTIL_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(FBUTIL_Sources))))
|
|
|
|
#________________________________________________________________________
|
|
#
|
|
# common/classes
|
|
|
|
FBCLASSES_ClientFiles=alloc.cpp locks.cpp semaphore.cpp fb_string.cpp timestamp.cpp \
|
|
PublicHandle.cpp TempFile.cpp
|
|
FBCLASSES_MsgFiles=SafeArg.cpp MsgPrint.cpp BaseStream.cpp
|
|
FBCLASSES_ServerFiles=UserBlob.cpp
|
|
|
|
FBCLASSES_ClientSources = $(addprefix common/classes/, $(FBCLASSES_ClientFiles))
|
|
FBCLASSES_MsgSources = $(addprefix common/classes/, $(FBCLASSES_MsgFiles))
|
|
FBCLASSES_ServerSources = $(addprefix common/classes/, $(FBCLASSES_ServerFiles))
|
|
|
|
FBCLASSES_ClientObjects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(FBCLASSES_ClientSources))))
|
|
FBCLASSES_MsgObjects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(FBCLASSES_MsgSources))))
|
|
FBCLASSES_ServerObjects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(FBCLASSES_ServerSources))))
|
|
|
|
FBCLASSES_Objects = $(FBCLASSES_ClientObjects) $(FBCLASSES_ServerObjects) $(FBCLASSES_MsgObjects)
|
|
|
|
#________________________________________________________________________
|
|
#
|
|
# common/config
|
|
|
|
FBCONFIG_ClientFiles=config.cpp config_file.cpp dir_list.cpp
|
|
FBCONFIG_ServerFiles=
|
|
|
|
FBCONFIG_Files= $(FBCONFIG_ClientFiles) $(FBCONFIG_ServerFiles)
|
|
|
|
FBCONFIG_Sources = $(addprefix common/config/, $(FBCONFIG_Files))
|
|
FBCONFIG_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(FBCONFIG_Sources))))
|
|
|
|
#________________________________________________________________________
|
|
#
|
|
# config
|
|
|
|
CONFIG_ClientFiles=AdminException.cpp Args.cpp ArgsException.cpp \
|
|
ConfObj.cpp ConfObject.cpp ConfigFile.cpp Configuration.cpp \
|
|
Element.cpp FileName.cpp InputFile.cpp \
|
|
InputStream.cpp Lex.cpp ScanDir.cpp Stream.cpp StreamSegment.cpp
|
|
CONFIG_ServerFiles=
|
|
|
|
CONFIG_Files= $(CONFIG_ClientFiles) $(CONFIG_ServerFiles)
|
|
|
|
CONFIG_Sources = $(addprefix config/, $(CONFIG_Files))
|
|
CONFIG_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(CONFIG_Sources))))
|
|
|
|
#________________________________________________________________________
|
|
#
|
|
# vulcan
|
|
|
|
VULCAN_ClientFiles=PathName.cpp RefObject.cpp
|
|
VULCAN_ServerFiles=
|
|
|
|
VULCAN_Files= $(VULCAN_ClientFiles) $(VULCAN_ServerFiles)
|
|
|
|
VULCAN_Sources = $(addprefix vulcan/, $(VULCAN_Files))
|
|
VULCAN_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(VULCAN_Sources))))
|
|
|
|
#________________________________________________________________________
|
|
#
|
|
# common
|
|
|
|
FBCOMMON_ClientFiles = fb_exception.cpp thd.cpp classes/MetaName.cpp StatusHolder.cpp classes/init.cpp StatusArg.cpp
|
|
FBCOMMON_ServerFiles = utils.cpp
|
|
|
|
FBCOMMON_ClientObjects = $(addprefix $(OBJ)/common/, $(addsuffix .o, $(basename $(FBCOMMON_ClientFiles))))
|
|
FBCOMMON_ServerObjects = $(addprefix $(OBJ)/common/, $(addsuffix .o, $(basename $(FBCOMMON_ServerFiles))))
|
|
|
|
FBCOMMON_Objects = $(FBCOMMON_ClientObjects) $(FBCOMMON_ServerObjects)
|
|
|
|
#________________________________________________________________________
|
|
#
|
|
# clumplets
|
|
|
|
CLUMPLETS_ClientFiles = ClumpletReader.cpp ClumpletWriter.cpp
|
|
CLUMPLETS_ServerFiles =
|
|
|
|
CLUMPLETS_Files = $(CLUMPLETS_ClientFiles) $(CLUMPLETS_ServerFiles)
|
|
|
|
CLUMPLETS_Sources = $(addprefix common/classes/, $(CLUMPLETS_Files))
|
|
CLUMPLETS_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(CLUMPLETS_Sources))))
|
|
|
|
|
|
#________________________________________________________________________
|
|
#
|
|
# Platform Manager
|
|
|
|
# just in case if make.platform defined some files
|
|
OS_SPECIFIC_Files += config_root.cpp path_utils.cpp mod_loader.cpp fbsyslog.cpp guid.cpp os_utils.cpp
|
|
|
|
OS_SPECIFIC_Sources = $(addprefix jrd/, $(OS_SPECIFIC_Files)) common/dllinst.cpp
|
|
ifneq ($(strip @BINRELOC_CFLAGS@),)
|
|
OS_SPECIFIC_Sources += $(ROOT)/extern/binreloc/binreloc.c
|
|
endif
|
|
OS_SPECIFIC_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(OS_SPECIFIC_Sources))))
|
|
|
|
|
|
#________________________________________________________________________
|
|
#
|
|
|
|
# These objects are needed in any target
|
|
|
|
COMMON_Objects = $(FBCLASSES_Objects) \
|
|
$(FBCOMMON_Objects) \
|
|
$(CONFIG_Objects) \
|
|
$(VULCAN_Objects)
|
|
|
|
#________________________________________________________________________
|
|
#
|
|
|
|
UTIL_Files =
|
|
|
|
UTIL_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(UTIL_Files))))
|
|
|
|
# These are the lists of object/shared object files that will go into libgds.a
|
|
# and libgds.$(SHRLIB_EXT).
|
|
|
|
LIBFBEMBED_Objects =$(OS_SPECIFIC_Objects) \
|
|
$(JRD_Objects) \
|
|
$(DSQL_Objects) \
|
|
$(LOCK_Objects) \
|
|
$(INTERFACE_Objects) \
|
|
$(GPRELIB_Objects) \
|
|
$(SECURITY_Objects) \
|
|
$(FBUTIL_Objects) \
|
|
$(CLUMPLETS_Objects) \
|
|
$(FBCONFIG_Objects) \
|
|
$(BURP_Objects) \
|
|
$(ALICE_Objects) \
|
|
$(NBACKUP_SERVER_Objects) \
|
|
$(NTRACE_SERVER_Objects) \
|
|
$(UTIL_Objects)
|
|
|
|
# Objects differences for server (super) and embedded (classic) libraries
|
|
# have been worked out above in this file, based on macros, so here they
|
|
# both refer to the same thing. (better way always possible)
|
|
# MOD 29-July-2002
|
|
|
|
LIBFBSERVER_Objects =$(LIBFBEMBED_Objects)
|
|
|
|
|
|
# The following library is a 'reduced' set (although not that reduced)
|
|
# to enable easy compilation of a boot kit containing a simple gpre and
|
|
# gbak modules. These are then used to compile the rest of the system.
|
|
# MOD 29-July-2002
|
|
|
|
# Statically link ib_util in libfbstatic.
|
|
IBUTIL_Sources = $(addprefix extlib/, ib_util.cpp)
|
|
IBUTIL_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(IBUTIL_Sources))))
|
|
|
|
# Notice that $(SECURITY_Objects) are missing, because that file can't be
|
|
# compiled until later in the build process.
|
|
|
|
LIBFBSTATIC_Objects = $(OS_SPECIFIC_Objects) \
|
|
$(JRD_Objects) \
|
|
$(DSQL_Objects) \
|
|
$(LOCK_Objects) \
|
|
$(INTERFACE_Objects) \
|
|
$(GPRELIB_Objects) \
|
|
$(FBCONFIG_Objects) \
|
|
$(CLUMPLETS_Objects) \
|
|
$(UTIL_Objects)
|
|
|
|
|
|
# Not needed since loaded into libfbmemory.a already
|
|
# $(FBUTIL_Objects) \
|
|
# $(FBMEMORY_Objects)
|
|
|
|
#________________________________________________________________________
|
|
#
|
|
# blrtable builder
|
|
|
|
BLRTABLE_Sources = misc/blrtable.cpp
|
|
BLRTABLE_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(BLRTABLE_Sources))))
|