configure.in
上传用户:blenddy
上传日期:2007-01-07
资源大小:6495k
文件大小:9k
源码类别:

数据库系统

开发平台:

Unix_Linux

  1. dnl psqlodbc standalone configuration.
  2. dnl Process this file with autoconf to produce a configure script.
  3. dnl Confirm that this is being run from the ODBC source directory,
  4. dnl and halt if not...
  5. AC_INIT(bind.c)
  6. AC_PREFIX_DEFAULT(/usr/local)
  7. echo "*** configuring psqlodbc ***"
  8. if test -d ../../interfaces
  9. then
  10. echo "psqlodbc can be configured either standalone or integrated"
  11. echo "into the Postgres main distribution."
  12. echo "It appears that you are running the standalone configure"
  13. echo "from within the main distribution. The recommended (and required)"
  14. echo "procedure is to configure ODBC using the integrated configuration"
  15. echo "procedure using the --with-odbc option."
  16. exit
  17. fi
  18. TEMPLATEDIR=./template
  19. if test "$prefix" = "NONE"
  20. then
  21. if test -d "/share"
  22. then
  23. ODBCINST=/share/odbcinst.ini
  24. else
  25. ODBCINST=/etc/odbcinst.ini
  26. fi
  27. else
  28. ODBCINST=$prefix/odbcinst.ini
  29. fi
  30. AC_CANONICAL_HOST
  31. case "$host_os" in
  32.  solaris*)
  33.         case "$host_cpu" in
  34.           sparc) os=solaris_sparc ;;
  35.            i386) os=solaris_i386 ;;
  36.         esac ;;
  37.    sunos*) os=sunos4 ;;
  38.      aux*) os=aux ;;
  39.    linux*) os=linux ;;
  40.     bsdi*) os=bsdi ;;
  41.  freebsd*|netbsd*|openbsd*) os=bsd ;;
  42.     dgux*) os=dgux ;;
  43.      aix*) os=aix ;;
  44. nextstep*) os=nextstep ;;
  45.   ultrix*) os=ultrix4 ;;
  46.     irix*) os=irix5  ;;
  47.     hpux*) os=hpux ;;
  48.      osf*) os=alpha ;;
  49.      sco*) os=sco ;;
  50.  machten*) os=machten ;;
  51.   cygwin*) os=win ;;
  52.  sysv4.2*)
  53.        case "$host_vendor" in
  54.                univel) os=univel ;;
  55.                     *) os=unknown ;;
  56.        esac ;;
  57.    sysv4*) os=svr4 ;;
  58. *) echo ""
  59.    echo "*************************************************************"
  60.    echo "configure does not currently recognize your operating system,"
  61.    echo "therefore you must do a manual configuration of:"
  62.    echo "$host_os"
  63.    echo "Please contact scrappy@hub.org to see about rectifying this, "
  64.    echo "including the above 'checking host system type...' line "
  65.    echo "*************************************************************"
  66.    echo ""
  67.    exit;;
  68. esac
  69. PORTNAME=${os}
  70. AC_LINK_FILES(makefiles/Makefile.${os}, Makefile.port)
  71. echo "checking echo setting..."
  72. if echo 'c' | grep -s c >/dev/null 2>&1
  73. then
  74. ECHO_N="echo -n"
  75. ECHO_C=""
  76. else
  77. ECHO_N="echo"
  78. ECHO_C='c'
  79. fi
  80. dnl cat <<EOT
  81. dnl **************************************************************
  82. dnl  Postodbc v0.0250 Installation Program
  83. dnl 
  84. dnl Welcome to the new improved Postodbc installation program.
  85. dnl This configuration program is for version 0.0250 of the
  86. dnl Postodbc software.
  87. dnl 
  88. dnl EOT
  89. dnl this part selects the template from the one in the
  90. dnl template directory. 
  91. dnl if test "X$with_template" != "X"
  92. dnl then
  93. dnl  TEMPLATE=template/$with_template
  94. dnl else
  95. dnl  TEMPLATE=DO_NOT_CHANGE_THIS_INVALID_FILENAME
  96. dnl fi
  97. AC_MSG_CHECKING(setting template to)
  98. AC_ARG_WITH(template,
  99. [  --with-template=TEMPLATE
  100.                            use operating system template file; see template directory],
  101. [  TEMPLATE=$withval ],
  102. [  host_no_ver=`echo "$host" | sed 's/[[0-9.]]*$//'`
  103. GUESS=`grep "$host_no_ver" $TEMPLATEDIR/.similar | sed 's/.*=//' | tail -1`
  104. if test "$GUESS"
  105. then   TEMPLATE="$GUESS"
  106. else   TEMPLATE=`uname -s | tr A-Z a-z`
  107. fi
  108. ])
  109. AC_MSG_RESULT($TEMPLATE)
  110. if test ! -d "$TEMPLATEDIR"
  111. then
  112. cat << EOT
  113. **************************************************************
  114. You seem to be missing the template directory needed by
  115. configure. If you just copied the source from the Postgres
  116. distribution you should instead have issued the command
  117. 'make standalone' which would have built a distribution
  118. containing the necessary template directory. The other
  119. option is that your trying to build from the source
  120. which is meant to be placed in the Postgres distribution
  121. directory 'interfaces/odbc'. Depending on your case either get the
  122. standalone source from the following Web site:
  123. www.insightdist.com/psqlodbc/
  124. or issue the 'make standalone' command from the
  125. 'interfaces/odbc' directory of your Postgres Distribution,
  126. or copy the distribution file you have to your Postgres
  127. distribution's 'interfaces/odbc' directory and try
  128. again.
  129. If neither of these is the case than please complain
  130. kindly to the maintainers; their e-mail addresses can
  131. be found in the Readme files.
  132. *************************************************************
  133. EOT
  134. exit
  135. else
  136. if test ! -f "$TEMPLATEDIR/$TEMPLATE"
  137. then
  138. cat <<EOT
  139. Please select a template from the ones listed below.  If no
  140. template is available, then select the 'generic' one and
  141. consider emailling scrappy@hub.org with the above line which
  142. starts 'checking host system type...'
  143. **************************************************************
  144. EOT
  145. TEMPLATE=generic
  146. GUESS=`grep "^$host_no_ver=" $TEMPLATEDIR/.similar 2>/dev/null`
  147. if test ! "$GUESS"
  148. then host_no_ver=`echo "$host" | sed 's/[[0-9.]]*$//'`
  149. GUESS=`grep "$host_no_ver" $TEMPLATEDIR/.similar 2>/dev/null`
  150. fi
  151. if test "$GUESS"
  152. then
  153. TEMPLATE=`echo $GUESS | sed 's/.*=//'`
  154. fi
  155. export TEMPLATE
  156. ls $TEMPLATEDIR
  157. echo "**************************************************************"
  158. $ECHO_N "Appropriate template file { $TEMPLATE }: $ECHO_C"
  159. read a
  160. if test "$a." != "."
  161. then
  162. TEMPLATE=$a
  163. fi
  164. if test ! -f $TEMPLATEDIR/$TEMPLATE
  165. then
  166. echo "You must choose an appropriate template file."
  167. exit
  168. fi
  169. fi
  170. fi
  171. TEMPLATE=$TEMPLATEDIR/$TEMPLATE 
  172. export TEMPLATE
  173. echo ""
  174. AROPT=`grep '^AROPT:' $TEMPLATE | awk -F: '{print $2}'`
  175. SHARED_LIB=`grep '^SHARED_LIB:' $TEMPLATE | awk -F: '{print $2}'`
  176. CFLAGS=`grep '^CFLAGS:' $TEMPLATE | awk -F: '{print $2}'`
  177. SRCH_INC=`grep '^SRCH_INC:' $TEMPLATE | awk -F: '{print $2}'`
  178. SRCH_LIB=`grep '^SRCH_LIB:' $TEMPLATE | awk -F: '{print $2}'`
  179. DLSUFFIX=`grep '^DLSUFFIX:' $TEMPLATE | awk -F: '{print $2}'`
  180. DL_LIB=`grep '^DL_LIB:' $TEMPLATE | awk -F: '{print $2}'`
  181. CC=`grep '^CC:' $TEMPLATE | awk -F: '{print $2}'`
  182. LIBS=`grep '^LIBS:' $TEMPLATE | awk -F: '{print $2}'`
  183. a=$SRCH_INC
  184. CPPFLAGS=`echo "$a" | sed 's@  *@ @g; s@^([[^ ]])@-I1@; s@ ([[^ ]])@ -I1@g'`
  185. export CPPFLAGS
  186. echo "- setting CPPFLAGS=$CPPFLAGS"
  187. a=$SRCH_LIB
  188. LDFLAGS=`echo "$a" | sed 's@  *@ @g; s@^([[^ ]])@-L1@; s@ ([[^ ]])@ -L1@g'`
  189. export LDFLAGS
  190. echo "- setting LDFLAGS=$LDFLAGS"
  191. dnl Allow for overriding the default location of the odbcinst.ini
  192. dnl file which is normally ${prefix}/share or ${prefix} if this is
  193. dnl being compiled inside the postgres distribution.
  194. AC_MSG_CHECKING(setting ODBCINST)
  195. AC_ARG_WITH(
  196. odbcinst,
  197. [  --with-odbcinst=<pathname>
  198.                                change default directory for odbcinst.ini ],
  199.    AC_DEFINE_UNQUOTED(ODBCINST, ${with_odbcinst}) AC_MSG_RESULT($with_odbcinst),
  200.    AC_DEFINE_UNQUOTED(ODBCINST, /etc/odbcinst.ini) AC_MSG_RESULT(${ODBCINST})
  201. )
  202. AC_SUBST(ODBCINST)
  203. if test "X$with_compiler" != "X"
  204. then
  205.         CC=$with_compiler
  206. else
  207.         AC_PROG_CC
  208. fi
  209. AC_CONFIG_HEADER(config.h)
  210. dnl Checks for programs.
  211. AC_PROG_CPP
  212. AC_SUBST(PORTNAME)
  213. AC_SUBST(LDFLAGS)
  214. AC_SUBST(CPPFLAGS)
  215. AC_SUBST(AROPT)
  216. AC_SUBST(SHARED_LIB)
  217. AC_SUBST(CFLAGS)
  218. AC_SUBST(DLSUFFIX)
  219. AC_SUBST(DL_LIB)
  220. INSTALLPATH="`echo /usr/ucb:$PATH | sed 's/:/ /g'`"
  221. AC_PATH_PROGS(INSTALL, ginstall installbsd bsdinst scoinst install, NONE, $INSTALLPATH )
  222. if test $INSTALL = "NONE"
  223. then
  224.    echo "- No Install Script found - aborting."
  225.    exit 0;
  226. fi
  227. INSTLOPTS="-m 444"
  228. INSTL_EXE_OPTS="-m 555"
  229. INSTL_LIB_OPTS="-m 644"
  230. INSTL_SHLIB_OPTS="-m 644"
  231. dnl HPUX wants shared libs to be mode 555.
  232. case "$host_os" in
  233.  hpux*)
  234. INSTL_SHLIB_OPTS="-m 555" ;;
  235. esac
  236. dnl These flavors of install need -c to install by copy rather than move.
  237. dnl install by move is fatal because it removes stuff from the source tree!
  238. case "`basename $INSTALL`" in
  239.  install|installbsd|scoinst|install-sh)
  240. INSTLOPTS="-c $INSTLOPTS"
  241. INSTL_EXE_OPTS="-c $INSTL_EXE_OPTS"
  242. INSTL_LIB_OPTS="-c $INSTL_LIB_OPTS"
  243. INSTL_SHLIB_OPTS="-c $INSTL_SHLIB_OPTS";;
  244. esac
  245. echo "- Using $INSTALL"
  246. AC_SUBST(INSTALL)
  247. AC_SUBST(INSTLOPTS)
  248. AC_SUBST(INSTL_LIB_OPTS)
  249. AC_SUBST(INSTL_SHLIB_OPTS)
  250. AC_SUBST(INSTL_EXE_OPTS)
  251. dnl Check the option to echo to inhibit newlines.
  252. ECHO_N_OUT=`echo -n "" | wc -c`
  253. ECHO_C_OUT=`echo "c" | wc -c`
  254. if test "$ECHO_N_OUT" -eq 0; then
  255.   DASH_N='-n'
  256.   BACKSLASH_C=
  257. else
  258.   if test "ECHO_C_OUT" -eq 0; then
  259.     DASH_N=
  260.     BACKSLASH_C='\\c'
  261.   else
  262.     AC_MSG_ERROR("echo behaviour undetermined")
  263.   fi
  264. fi
  265. AC_SUBST(DASH_N)
  266. AC_SUBST(BACKSLASH_C)
  267. AC_PROG_LN_S
  268. AC_PROG_MAKE_SET
  269. AC_PROG_RANLIB
  270. AC_PATH_PROG(find, find)
  271. AC_PATH_PROG(tar, tar)
  272. AC_PATH_PROG(split,split)
  273. AC_CHECK_LIB(c,        main)
  274. AC_CHECK_LIB(m,        main)
  275. AC_CHECK_LIB(dl,       main)
  276. dnl Checks for header files.
  277. AC_HEADER_STDC
  278. AC_CHECK_HEADERS(sys/param.h pwd.h)
  279. dnl Checks for typedefs, structures, and compiler characteristics.
  280. dnl Check for any "odd" conditions
  281. dnl Checks for library functions.
  282. AC_CHECK_FUNCS(stricmp)
  283. dnl Check for X libraries
  284. dnl Check for X library
  285. AC_OUTPUT(GNUmakefile Makefile.global)