esqlスクリプトでxlcオプションのみが使用されるため、この設定はサポートされていないと思われます(gccはサポートされていない可能性があります)。Informix CSDKとAIXでgccを使用する64ビットを使用していますか?
しかし、他の人がこの設定gccとinformix 64ビットをAIXで使用しているかどうかを知りたいと思います。
esqlスクリプトでxlcオプションのみが使用されるため、この設定はサポートされていないと思われます(gccはサポートされていない可能性があります)。Informix CSDKとAIXでgccを使用する64ビットを使用していますか?
しかし、他の人がこの設定gccとinformix 64ビットをAIXで使用しているかどうかを知りたいと思います。
GCCを使用するためにESQL/C(ClientSDKまたはCSDKの一部)を入手することはできますが、それほど簡単ではありません。原則として、私がしていることは:
GCCだけを使用したい場合は、これで十分です。あなたがGCCと時にはXLC(ネイティブコンパイラ)の両方を使いたいのであれば、それは難しくなります。
私のプライベートbinディレクトリ($ INFORMIXDIR/binのようなものより先に私のPATH上にある)には、esqlという単一のスクリプトがあります。現在使用しているESQL/Cのバージョンを確認し、別のディレクトリに保存されている適切なパッチ適用前のバージョンを実行します。そして私のためにそのスクリプトの新しいバージョンを自動的に作成します。したがって、CSDK 3.00.UC2を1分、次にCSDK 3.50.FC3を使用すると、自動的にスイッチオーバーを処理します。
Solaris上のESQL/C 3.50に適用されるパッチは、AIXに適応する必要があります。
# @(#)$Id: patch.300.64,v 1.2 2007/09/02 21:46:55 jleffler Exp $
# GCC Patch for esql from CSDK 3.00.FC1
--- esql 2007-09-02 14:44:18.739067000 -0700
+++ esql.new 2007-09-02 14:44:26.812149000 -0700
@@ -23,10 +23,33 @@
INFDIR=${INFORMIXDIR=/usr/informix}
DB2CLIDIR=${INSTHOME=/usr/db2}
PREPCC=${INFDIR}/lib/esql/esqlc
-CC="${INFORMIXC=cc} -xarch=v9"
-CC_TH="${INFORMIXC=cc} -xarch=v9"
-CPP="${INFORMIXCPP=CC} -xarch=v9"
-CPP_TH="${INFORMIXCPP=CC} -xarch=v9"
+
+: ${INFORMIXC:=cc}
+: ${INFORMIXCPP:=CC}
+case "$INFORMIXC" in
+*perl*esqlcc*) # Building DBD::Informix
+ case "$ESQLCC" in
+ *gcc*|*g++)
+ CC_ARCHFLAGS="-m64"
+ ;;
+ *cc*|*CC*)
+ CC_ARCHFLAGS="-xarch=v9"
+ ;;
+ esac
+ ;;
+*gcc*|*g++*)
+ CC_ARCHFLAGS="-m64"
+ ;;
+# Beware - this normally needs to be last - because things like esqlcc and gcc match too!
+*cc*|*CC*)
+ CC_ARCHFLAGS="-xarch=v9"
+ ;;
+esac
+
+CC="$INFORMIXC $CC_ARCHFLAGS"
+CC_TH="$INFORMIXC $CC_ARCHFLAGS"
+CPP="$INFORMIXCPP $CC_ARCHFLAGS"
+CPP_TH="$INFORMIXCPP $CC_ARCHFLAGS"
STATICFLAGS=""
CP=${INFORMIXCP="$CC -E -C"} # cpp which runs before esqlc
@@ -51,9 +74,6 @@
then
CC="$CC $CC_AMD32"
CPP="$CPP $CC_AMD32"
-else
-CC=$CC
-CPP=$CPP
fi
: '
@@ -922,7 +942,7 @@
# Set the linker to CPP
# Set the source files to objects
#
- CC=$CPP
+ CC="$CPP"
A="$AO $CPPOPTS"
fi
fi
レムあなたは私が(私のプロフィールを参照)を使用制御esql
スクリプトをしたい場合は知っています。私は9種類の32ビットスクリプトと8種類の64ビットスクリプトを用意しています。これは12種類のパッチファイルで作成されています(すべてSolaris用、私は恐れています)。バージョンは、ESQL/C 5.20(OnLine 5.20用)からESQL/C 7.2x(公式には長年にわたり死亡)からCSDKのさまざまなバージョンまでの範囲です。