123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489 |
- #!/bin/sh
- #
- # PORT.OpenLink
- #
- # Script to port iODBC to various platforms and ABIs
- #
- # The iODBC driver manager.
- #
- # Copyright (C) 1996-2021 OpenLink Software <[email protected]>
- # All Rights Reserved.
- #
- # This software is released under the terms of either of the following
- # licenses:
- #
- # - GNU Library General Public License (see LICENSE.LGPL)
- # - The BSD License (see LICENSE.BSD).
- #
- # Note that the only valid version of the LGPL license as far as this
- # project is concerned is the original GNU Library General Public License
- # Version 2, dated June 1991.
- #
- # While not mandated by the BSD license, any patches you make to the
- # iODBC source code may be contributed back into the iODBC project
- # at your discretion. Contributions will benefit the Open Source and
- # Data Access community as a whole. Submissions may be made at:
- #
- # http://www.iodbc.org
- #
- #
- # GNU Library Generic Public License Version 2
- # ============================================
- # This library is free software; you can redistribute it and/or
- # modify it under the terms of the GNU Library General Public
- # License as published by the Free Software Foundation; only
- # Version 2 of the License dated June 1991.
- #
- # This library 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
- # Library General Public License for more details.
- #
- # You should have received a copy of the GNU Library General Public
- # License along with this library; if not, write to the Free
- # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- #
- #
- # The BSD License
- # ===============
- # Redistribution and use in source and binary forms, with or without
- # modification, are permitted provided that the following conditions
- # are met:
- #
- # 1. Redistributions of source code must retain the above copyright
- # notice, this list of conditions and the following disclaimer.
- # 2. Redistributions in binary form must reproduce the above copyright
- # notice, this list of conditions and the following disclaimer in
- # the documentation and/or other materials provided with the
- # distribution.
- # 3. Neither the name of OpenLink Software Inc. nor the names of its
- # contributors may be used to endorse or promote products derived
- # from this software without specific prior written permission.
- #
- # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL OPENLINK OR
- # CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- # PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- # LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- # NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- #
- #
- # Defaults
- #
- TOP=`pwd`
- OS=`admin/config.guess`
- PREFIX=/usr/local/iODBC
- CC=${CC:-cc}
- CFLAGS=${CFLAGS:-"-O"}
- LDFLAGS=${LDFLAGS:-""}
- CONFLAGS=${CONFLAGS:-"--disable-gui --enable-maintainer-mode"}
- MAKE=${MAKE:-make}
- BUILD=run_make
- export TOP CC CFLAGS LDFLAGS OS PREFIX CONFLAGS BUILD MAKE
- #
- # Parse arguments
- #
- ARG=${1:-usage}
- case $ARG in
- -[Cc]|configure)
- BUILD=run_config;;
- -[Mm]|make)
- BUILD=run_make;;
- *)
- echo "PORT script to build OpenLink type installation packages"
- echo "in $PREFIX."
- echo ""
- echo "Usage: $0 [ -c | -m]"
- echo ""
- echo " -c run configure"
- echo " -m run make [clean|install]"
- exit 1
- ;;
- esac
- #
- # Optional argument for make clean
- #
- shift
- MAKERULE=${*:-""}
- export MAKERULE
- #
- # Configure the package
- #
- run_config()
- {
- MODE=${1:-"default"}
- export MODE
- case $MODE in
- o32) # Irix
- $TOP/admin/mkinstalldirs build-o32
- cd build-o32
- ../configure --prefix=$PREFIX $CONFLAGS --bindir='${prefix}/bino32' --libdir='${prefix}/libo32'
- cd ..
- ;;
- 32)
- $TOP/admin/mkinstalldirs build-32
- cd build-32
- ../configure --prefix=$PREFIX $CONFLAGS --bindir='${prefix}/bin32' --libdir='${prefix}/lib32'
- cd ..
- ;;
- 64)
- $TOP/admin/mkinstalldirs build-64
- cd build-64
- ../configure --prefix=$PREFIX $CONFLAGS --bindir='${prefix}/bin64' --libdir='${prefix}/lib64'
- cd ..
- ;;
- universal)
- $TOP/admin/mkinstalldirs build-universal
- cd build-universal
- ../configure --prefix=$PREFIX $CONFLAGS
- cd ..
- ;;
- cur)
- ./configure --prefix=$PREFIX $CONFLAGS
- ;;
- *)
- $TOP/admin/mkinstalldirs build
- cd build
- ../configure --prefix=$PREFIX $CONFLAGS
- cd ..
- ;;
- esac
- }
- #
- # Make the package
- #
- run_make()
- {
- MODE=${1:-"default"}
- export MODE
- case $MODE in
- o32)
- cd build-o32
- $MAKE $MAKERULE
- cd ..
- ;;
- 32)
- cd build-32
- $MAKE $MAKERULE
- cd ..
- ;;
- 64)
- cd build-64
- $MAKE $MAKERULE
- cd ..
- ;;
- universal)
- cd build-universal
- $MAKE $MAKERULE
- cd ..
- ;;
- cur)
- $MAKE $MAKERULE
- ;;
- *)
- cd build
- $MAKE $MAKERULE
- cd ..
- ;;
- esac
- }
- #
- # Main
- #
- case $OS in
- powerpc-ibm-aix4*)
- CC=cc_r7
- CFLAGS="-O -q32"
- LDFLAGS="-brtl"
- OBJECT_MODE=64
- export CC CFLAGS LDFLAGS OBJECT_MODE
- $BUILD 32
- CC=cc_r7
- CFLAGS="-O -q64"
- LDFLAGS="-brtl"
- OBJECT_MODE=64
- export CC CFLAGS LDFLAGS OBJECT_MODE
- $BUILD 64
- ;;
- hppa2.0w-hp-hpux11*)
- CFLAGS="-O -Ae +DA1.1"
- export CFLAGS
- $BUILD 32
- CFLAGS="-O -Ae +DA2.0W"
- export CFLAGS
- $BUILD 64
- ;;
- sparc-sun-solaris2.*)
- CFLAGS="-O"
- export CFLAGS
- $BUILD 32
- CFLAGS="-O -xtarget=ultra -xarch=v9"
- export CFLAGS
- $BUILD 64
- ;;
- i[3456]86-*-solaris2.*)
- CFLAGS="-O -xtarget=opteron"
- export CFLAGS
- $BUILD 32
- CFLAGS="-O -xtarget=opteron -xarch=amd64"
- export CFLAGS
- $BUILD 64
- ;;
- i[3456]86-pc-linux-*)
- CFLAGS="-O3"
- CONFLAGS="--enable-gui --enable-maintainer-mode"
- export CFLAGS CONFLAGS
- $BUILD cur
- ;;
- x86_64-suse-linux)
- CFLAGS="-O3"
- CONFLAGS="--enable-gui --enable-maintainer-mode"
- export CFLAGS CONFLAGS
- $BUILD
- ;;
- x86_64-*-linux-gnu)
- CONFLAGS="--enable-gui --enable-maintainer-mode --with-pic"
- CFLAGS="-O3 -m32"
- export CFLAGS CONFLAGS
- $BUILD 32
- CFLAGS="-O3 -m64"
- export CFLAGS CONFLAGS
- $BUILD 64
- ;;
- aarch64-apple-darwin20*)
- PREFIX=/usr/local/iODBC.universal
- CONFLAGS="--disable-shared --with-pic --disable-dependency-tracking"
- CFLAGS="-O -mmacosx-version-min=10.9 -arch arm64 -arch x86_64"
- export PREFIX CONFLAGS CFLAGS
- $BUILD universal
- ;;
- *-apple-darwin14*)
- PREFIX=/usr/local/iODBC.darwin
- CONFLAGS="--disable-shared --with-pic"
- CFLAGS="-O -m32"
- export CFLAGS CONFLAGS PREFIX
- $BUILD 32
- CFLAGS="-O -m64"
- export CFLAGS
- $BUILD 64
- PREFIX=/usr/local/iODBC.universal
- CONFLAGS="--disable-shared --with-pic --disable-dependency-tracking"
- CFLAGS="-O -mmacosx-version-min=10.9 -arch i386 -arch x86_64"
- export PREFIX CONFLAGS CFLAGS
- $BUILD universal
- ;;
- *-apple-darwin13*)
- PREFIX=/usr/local/iODBC.darwin
- CONFLAGS="--disable-shared --with-pic"
- CFLAGS="-O -m32"
- export CFLAGS CONFLAGS PREFIX
- $BUILD 32
- CFLAGS="-O -m64"
- export CFLAGS
- $BUILD 64
- PREFIX=/usr/local/iODBC.universal
- CONFLAGS="--disable-shared --with-pic --disable-dependency-tracking"
- CFLAGS="-O -mmacosx-version-min=10.8 -arch i386 -arch x86_64"
- export PREFIX CONFLAGS CFLAGS
- $BUILD universal
- ;;
- *-apple-darwin12*)
- PREFIX=/usr/local/iODBC.darwin
- CONFLAGS="--disable-shared --with-pic"
- CFLAGS="-O -m32"
- export CFLAGS CONFLAGS PREFIX
- $BUILD 32
- CFLAGS="-O -m64"
- export CFLAGS
- $BUILD 64
- PREFIX=/usr/local/iODBC.universal
- CONFLAGS="--disable-shared --with-pic --disable-dependency-tracking"
- CFLAGS="-O -mmacosx-version-min=10.7 -arch i386 -arch x86_64"
- export PREFIX CONFLAGS CFLAGS
- $BUILD universal
- ;;
- i[3456]86-apple-darwin11*)
- PREFIX=/usr/local/iODBC.darwin
- CONFLAGS="--disable-shared --with-pic"
- CFLAGS="-O -m32"
- export CFLAGS CONFLAGS PREFIX
- $BUILD 32
- CFLAGS="-O -m64"
- export CFLAGS
- $BUILD 64
- PREFIX=/usr/local/iODBC.universal
- CONFLAGS="--disable-shared --with-pic --disable-dependency-tracking"
- CFLAGS="-O -isysroot /Developer/SDKs/MacOSX10.7.sdk -mmacosx-version-min=10.7 -arch i386 -arch x86_64"
- export PREFIX CONFLAGS CFLAGS
- $BUILD universal
- ;;
- i[3456]86-apple-darwin10*)
- PREFIX=/usr/local/iODBC.darwin
- CONFLAGS="--disable-shared --with-pic"
- CFLAGS="-O -m32"
- export CFLAGS CONFLAGS PREFIX
- $BUILD 32
- CFLAGS="-O -m64"
- export CFLAGS
- $BUILD 64
- PREFIX=/usr/local/iODBC.universal
- CONFLAGS="--disable-shared --with-pic --disable-dependency-tracking"
- CFLAGS="-O -isysroot /Developer/SDKs/MacOSX10.6.sdk -mmacosx-version-min=10.6 -arch ppc -arch i386 -arch x86_64"
- export PREFIX CONFLAGS CFLAGS
- $BUILD universal
- ;;
- i[3456]86-apple-darwin9*)
- PREFIX=/usr/local/iODBC.darwin
- CONFLAGS="--disable-shared --with-pic"
- CFLAGS="-O -m32"
- export CFLAGS CONFLAGS PREFIX
- $BUILD 32
- CFLAGS="-O -m64"
- export CFLAGS
- $BUILD 64
- PREFIX=/usr/local/iODBC.universal
- CONFLAGS="--disable-shared --with-pic --disable-dependency-tracking"
- CFLAGS="-O -isysroot /Developer/SDKs/MacOSX10.5.sdk -mmacosx-version-min=10.5 -arch ppc -arch ppc64 -arch i386 -arch x86_64"
- export PREFIX CONFLAGS CFLAGS
- $BUILD universal
- ;;
- powerpc-apple-darwin8*)
- PREFIX=/usr/local/iODBC.darwin
- CONFLAGS="--disable-shared --with-pic"
- CFLAGS="-O -m32"
- export CFLAGS CONFLAGS PREFIX
- $BUILD 32
- CFLAGS="-O -m64"
- export CFLAGS
- $BUILD 64
- PREFIX=/usr/local/iODBC.universal
- CONFLAGS="--disable-shared --with-pic --disable-dependency-tracking"
- CFLAGS="-O -isysroot /Developer/SDKs/MacOSX10.4u.sdk -mmacosx-version-min=10.4 -arch ppc -arch ppc64 -arch i386"
- export PREFIX CONFLAGS CFLAGS
- $BUILD universal
- ;;
- powerpc-apple-darwin7*)
- PREFIX=/usr/local/iODBC.darwin
- CONFLAGS="--disable-shared --with-pic"
- CFLAGS="-O -DNO_FRAMEWORKS"
- export CFLAGS CONFLAGS PREFIX
- $BUILD
- ;;
- powerpc-apple-darwin6*)
- PREFIX=/usr/local/iODBC.darwin
- CONFLAGS="--disable-shared --with-pic"
- CFLAGS="-O -DNO_FRAMEWORKS -DMACOSX102"
- export CFLAGS CONFLAGS PREFIX
- $BUILD
- ;;
- ia64-hp-hpux11.23)
- CFLAGS="-O -Ae +DD32"
- export CFLAGS
- $BUILD 32
- CFLAGS="-O -Ae +DD64"
- export CFLAGS
- $BUILD 64
- ;;
- powerpc-ibm-aix5*)
- CC=cc_r
- CFLAGS="-O -q32"
- LDFLAGS="-brtl"
- OBJECT_MODE=32
- export CC CFLAGS LDFLAGS OBJECT_MODE
- $BUILD 32
- CC=cc_r
- CFLAGS="-O -q64"
- LDFLAGS="-brtl"
- OBJECT_MODE=64
- export CC CFLAGS LDFLAGS OBJECT_MODE
- $BUILD 64
- ;;
- *)
- CFLAGS="-O"
- export CFLAGS
- $BUILD
- ;;
- esac
- # End
- exit 0
|