Skip to content

Commit

Permalink
OTP-8484 Fix minor cross compilation issues
Browse files Browse the repository at this point in the history
The use of mmap() was unnecessarily disabled when cross compiling.

The configure arguments --with-ssl, and --with-odbc refused to accept
libraries outside of $erl_xcomp_sysroot when cross compiling for no good
reason.

The configure argument --with-odbc didn't handle the value yes correct.

The configure arguments --with-odbc, and --without-odbc have also been
added to the configure help.

(Thanks to Steve Vinoski for reporting these issues)
  • Loading branch information
rickard-green authored and Erlang/OTP committed Mar 31, 2010
1 parent c5d3624 commit 88f67c0
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 13 deletions.
10 changes: 1 addition & 9 deletions erts/configure.in
Expand Up @@ -1693,7 +1693,7 @@ AC_CHECK_FUNCS([getnameinfo getipnodebyname getipnodebyaddr gethostbyname2])

AC_CHECK_FUNCS([ieee_handler fpsetmask finite isnan isinf res_gethostbyname dlopen \
pread pwrite writev memmove strerror strerror_r strncasecmp \
gethrtime localtime_r gmtime_r mremap memcpy mallopt \
gethrtime localtime_r gmtime_r mmap mremap memcpy mallopt \
sbrk _sbrk __sbrk brk _brk __brk \
flockfile fstat strlcpy strlcat setsid posix2time setlocale nl_langinfo poll])
if test "X$host" = "Xwin32"; then
Expand Down Expand Up @@ -1725,7 +1725,6 @@ if test $disable_vfork = true; then
fi

AC_FUNC_VPRINTF
AC_FUNC_MMAP

dnl The AC_DEFINEs are necessary for autoheader to work. :-(
dnl for gzio
Expand Down Expand Up @@ -3729,13 +3728,6 @@ dnl so it is - be adoptable
fi
;;
*)
if test "$cross_compiling" = "yes"; then
case "$with_ssl" in
"$erl_xcomp_sysroot"*) ;;
*) AC_MSG_ERROR([Invalid path to option --with-ssl=PATH (not a subdirectory to cross system root)]);;
esac
fi

# Option given with PATH to package
if test ! -d "$with_ssl" ; then
AC_MSG_ERROR(Invalid path to option --with-ssl=PATH)
Expand Down
31 changes: 27 additions & 4 deletions lib/odbc/configure.in
@@ -1,3 +1,21 @@
dnl
dnl %CopyrightBegin%
dnl
dnl Copyright Ericsson AB 2005-2010. All Rights Reserved.
dnl
dnl The contents of this file are subject to the Erlang Public License,
dnl Version 1.1, (the "License"); you may not use this file except in
dnl compliance with the License. You should have received a copy of the
dnl Erlang Public License along with this software. If not, it can be
dnl retrieved online at http://www.erlang.org/.
dnl
dnl Software distributed under the License is distributed on an "AS IS"
dnl basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
dnl the License for the specific language governing rights and limitations
dnl under the License.
dnl
dnl %CopyrightEnd%
dnl

dnl define([AC_CACHE_LOAD], )dnl
dnl define([AC_CACHE_SAVE], )dnl
Expand Down Expand Up @@ -25,6 +43,11 @@ else
host_os=win32
fi

AC_ARG_WITH(odbc,
[ --with-odbc=PATH specify location of ODBC include and lib
--with-odbc use ODBC (default)
--without-odbc don't use ODBC])

if test "$with_odbc" = "no"; then

rm -f "$ERL_TOP/lib/odbc/SKIP"
Expand Down Expand Up @@ -116,7 +139,7 @@ AC_SUBST(TARGET_FLAGS)
case $host_os in
darwin*)
TARGET_FLAGS="-DUNIX"
if test ! -d "$with_odbc" || test "$with_odbc" = "yes" ; then
if test ! -d "$with_odbc" || test "$with_odbc" = "yes"; then
ODBC_LIB= -L"/usr/lib"
ODBC_INCLUDE="-I/usr/lib/include"
else
Expand All @@ -129,7 +152,7 @@ AC_SUBST(TARGET_FLAGS)
win32|cygwin)
TARGET_FLAGS="-DWIN32"
AC_CHECK_LIB(ws2_32, main)
if test ! -d "$with_odbc"; then
if test ! -d "$with_odbc" || test "$with_odbc" = "yes"; then
ODBC_LIB=""
ODBC_INCLUDE=""
else
Expand All @@ -147,7 +170,7 @@ AC_SUBST(TARGET_FLAGS)
echo "$msg" > "$ERL_TOP/lib/odbc/SKIP"
odbc_lib_link_success=wont_try
;;
no- )
no-yes | no- )
AC_CHECK_SIZEOF(void *)
AC_MSG_CHECKING([for odbc in standard locations])
for rdir in /usr/local/odbc /usr/local /usr/odbc \
Expand Down Expand Up @@ -177,7 +200,7 @@ AC_SUBST(TARGET_FLAGS)
fi
;;

no-*)
*)
ODBC_LIB=-L"$with_odbc/lib"
ODBC_INCLUDE="-I$with_odbc/include"
AC_CHECK_LIB(odbc, SQLAllocHandle,[ODBC_LIB="$ODBC_LIB -lodbc"; odbc_lib_link_success=yes])
Expand Down

0 comments on commit 88f67c0

Please sign in to comment.