8
0
mirror of https://github.com/FirebirdSQL/firebird.git synced 2025-01-22 16:43:03 +01:00

SAS changes - AIX port started

This commit is contained in:
alexpeshkoff 2008-10-30 09:14:13 +00:00
parent 85b80b7bc3
commit 11676a39dd
3 changed files with 224 additions and 0 deletions

View File

@ -0,0 +1,169 @@
# 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):
#
ROOT=..
include $(ROOT)/gen/make.defaults
include $(ROOT)/gen/make.platform
include $(ROOT)/gen/make.rules
include $(ROOT)/gen/make.shared.variables
FirebirdInstallPrefix=@prefix@
@SET_MAKE@
FIREBIRD=$(FirebirdInstallPrefix)
export -n FIREBIRD
export -n INTERBASE
.PHONY: install dist packages depotfile tarfile
.PHONY: buildDepot buildTarDir buildImageDir buildRoot buildDebugInfo
# Some of these targets are run from the root tree of the build.
# those need to know where the install subdirectory is kept.
# Others are run locally these need to know the path back to the
# root of the build tree.
BuildRoot=$(GEN_ROOT)
InstallRoot=.
FirebirdBuildPrefix=$(GEN_ROOT)
#export FirebirdBuildPrefix
#export FirebirdInstallPrefix
#export PackageVersion
BuildVersion=$(FirebirdVersion).$(BuildNum)
Version=$(BuildVersion)-$(PackageVersion)
# This means something like: FirebirdCS-2.0.0-1.i386.tar
TarDir= Firebird$(ArchPrefix)-$(Version).$(CpuType)
TarFile=Firebird$(ArchPrefix)-$(Version).$(CpuType).tar
DepotFile=Firebird$(ArchPrefix)-$(Version).$(CpuType).depot
RPMFile=Firebird$(ArchPrefix)-$(Version).$(CpuType).rpm
DebugDir=Firebird$(ArchPrefix)-debuginfo-$(Version).$(CpuType)
DebugFile=Firebird$(ArchPrefix)-debuginfo-$(Version).$(CpuType).tar
psfFile=firebird$(ArchPrefix).psf
PkgSrcDir=$(InstallRoot)/$(ArchType)
ScriptDir=$(GEN_ROOT)/install/scripts/
RPMSrcDir=$(GEN_ROOT)/install/scripts
TarInstallDir=$(GEN_ROOT)/install
dist : packages
packages: depotfile tarfile debugfile
depotfile: $(DepotFile)
$(DepotFile): buildDepot
(cd $(GEN_ROOT); swpackage -d "| gzip -c > $(DepotFile).gz" -x media_type=tape -s $(psfFile))
tarfile: $(TarFile)
$(TarFile) : buildTarDir
(cd $(GEN_ROOT); tar -cvf $(TarFile) $(TarDir))
debugfile: $(DebugFile)
$(DebugFile) : buildImageDir
(cd $(GEN_ROOT)/$(DebugDir); tar -cvf ../$(DebugFile) *)
# objcopy --add-gnu-debuglink fails with binutils 2.14 or older
# its failure affects only GDB ability to pick up external debug
# symbols automatically. We may use eu-strip command from elfutils
# instead, but it doesn't work or compile with such distros
# as Mandrake 9.0 not saying about older ones. New binutils
# seem to compile and work everywhere I tried, but we try to
# use eu-strip first since it is a part of default Red Hat 9
# install and is available in binary form for Mandrake 9.1 and newer.
#
# 28-Dec-2003. Nickolay Samofatov
#
# Do not use eu-strip any longer because version 0.89/AMD64 shipped with
# Mandrake 9.2 produces broken debuginfo packages and there is no easy way to
# detect the breakage. Binutils seem to be more reliable alternative to me.
#
# 05-Apr-2004. Nickolay Samofatov
#
buildRoot:
(cd $(GEN_ROOT); ./install/makeinstallImage.sh)
buildDebugInfo: buildRoot
mkdir -p $(GEN_ROOT)/$(DebugDir)
for x in `(cd $(GEN_ROOT)/buildroot; find)`; do \
FIL=$(GEN_ROOT)/buildroot/$$x; \
D_FIL=$(GEN_ROOT)/$(DebugDir)/`dirname $${x}`/.debug/`basename $${x}`.debug; \
if [ ! -h $$FIL ] && readelf -h $$FIL > /dev/null 2> /dev/null; then \
mkdir -p $(GEN_ROOT)/$(DebugDir)/`dirname $$x`/.debug; \
echo Generating external debug info for $$x; \
cp $${FIL} $${D_FIL}; \
if objcopy --add-gnu-debuglink $${D_FIL} $${FIL}; > /dev/null 2> /dev/null; then \
echo Succeeded using objcopy from binutils; \
else \
echo Failed to set debug link for $${x}; \
fi; \
echo Stripping unneeded symbols from $${x}; \
objcopy --strip-debug --strip-unneeded $${FIL}; \
fi; \
done
# Work around GDB 6.0 bug
mkdir -p $(GEN_ROOT)/$(DebugDir)@libdir@/.debug
for x in `ls $(GEN_ROOT)/$(DebugDir)@prefix@/lib/.debug`; do \
ln -f -s @prefix@/lib/.debug/`basename $$x` $(GEN_ROOT)/$(DebugDir)@libdir@/.debug; \
done
# Use this line if you don't want to use separate debug info
buildImageDir: buildRoot
#buildImageDir: buildDebugInfo
buildTarDir: buildImageDir
mkdir -p $(GEN_ROOT)/$(TarDir)
cp -r $(GEN_ROOT)/install/scripts $(GEN_ROOT)/$(TarDir)
cp -r $(GEN_ROOT)/install/scripts/tarmainInstall.sh $(GEN_ROOT)/$(TarDir)/install.sh
chmod a+x $(GEN_ROOT)/$(TarDir)/install.sh $(GEN_ROOT)/$(TarDir)/scripts/*sh
(cd $(GEN_ROOT)/buildroot; tar -cvf buildroot.tar usr opt )
(cd $(GEN_ROOT)/buildroot; tar -tvf buildroot.tar > manifest.txt )
(cd $(GEN_ROOT)/buildroot; cp buildroot.tar ../$(TarDir)/buildroot.tar )
(cd $(GEN_ROOT)/buildroot; cp manifest.txt ../$(TarDir)/manifest.txt )
install: buildTarDir
(cd $(GEN_ROOT)/$(TarDir); ./install.sh)
cp -r $(GEN_ROOT)/$(DebugDir)/* /

View File

@ -0,0 +1,44 @@
# 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): Bill Oliver
#
# Compiler settings for AIX 5.3 (powerpc)
#
# compiler flags for GCC.
# 2008-10-16 no joy with gcc 4.0.0
PROD_GCC_FLAGS=-ggdb -O3 -fno-omit-frame-pointer -fsigned-char -DNDEBUG -pipe -MMD -fPIC -fmessage-length=0 -DAIX -DPowerPC -DPPC -mcpu=powerpc
DEV_GCC_FLAGS=-ggdb -O0 -fsigned-char -DVIO_DEBUG -pipe -MMD -fPIC -Wall -Wno-switch -Wno-parentheses -Wno-unknown-pragmas -Wno-unused-variable -fmessage-length=0 -DAIX -DPowerPC -DPPC
# compiler flags for xlC
PROD_XLC_FLAGS=-O3 -qchars=signed -qstaticinline -DNDEBUG -DAIX -DPowerPC -DPPC
DEV_XLC_FLAGS=-O0 -qchars=signed -DVIO_DEBUG -DAIX -DPowerPC -DPPC
# change lines below to switch between gcc and xlc
PROD_FLAGS= $(PROD_GCC_FLAGS)
DEV_FLAGS= $(DEV_GCC_FLAGS)
OS_ServerFiles=inet_server.cpp
EMBED_UTIL_TARGETS=gstat gds_drop gsec fbguard nbackup fb_lock_print fbsvcmgr
CLIENT_UTIL_TARGETS=gds_drop gstat gsec fbguard fbmgr_bin nbackup fb_lock_print fbsvcmgr
Physical_IO_Module=os/posix/unix.cpp
UNDEF_PLATFORM=-Wl,-z

View File

@ -70,6 +70,17 @@ dnl MAKEFILE_PREFIX=darwin_ppc64
dnl CPU_TYPE=ppc64
;;
powerpc-*-aix*)
MAKEFILE_PREFIX=aix_powerpc
MAKEFILE_POSTFIX=aix
PLATFORM=AIX
INSTALL_PREFIX=aix
AC_DEFINE(AIX, 1, [Define this if OS is AIX])
EDITLINE_FLG=N
SHRLIB_EXT=so
dnl ICU_PLATFORM=AIXPPCXLC
;;
amd64-*-freebsd*)
MAKEFILE_PREFIX=freebsd
PLATFORM=FREEBSD