source: trunk/base/aclocal.m4 @ 11663

Last change on this file since 11663 was 11663, checked in by landonf (Landon Fuller), 15 years ago

Remove proof-of-concept Mac software receipt support.

  • Property svn:eol-style set to native
File size: 10.6 KB
Line 
1builtin(include,tcl.m4)
2
3dnl This macro checks if the user specified a dports tree
4dnl explicitly. If not, search for it
5
6# OD_PATH_DPORTSDIR(DEFAULT_DPORTSDIR)
7#---------------------------------------
8 AC_DEFUN([OD_PATH_DPORTSDIR],[
9        dnl For ease of reading, run after gcc has been found/configured
10        AC_REQUIRE([AC_PROG_CC])
11
12        AC_ARG_WITH(dports-dir, [AC_HELP_STRING([--with-dports-dir=DIR], [Specify alternate dports directory])], [ dportsdir="$withval" ] )
13
14
15        AC_MSG_CHECKING([for dports tree])
16        if test "x$dportsdir" != "x" ; then
17          if test -d "$dportsdir" -a -e "$dportsdir/PortIndex" ; then
18                :
19          else
20                AC_MSG_ERROR([$dportsdir not a valid dports tree])
21          fi
22        else
23                dnl If the user didn't give a path, look for default
24                if test "x$1" != "x" ; then
25                  if test -d "$1" -a -e "$1/PortIndex" ; then
26                        dportsdir=$1
27                  fi
28                fi
29        fi
30
31        if test "x$dportsdir" != "x" ; then
32                AC_MSG_RESULT($dportsdir)
33                DPORTSDIR="$dportsdir"
34                AC_SUBST(DPORTSDIR)
35        else
36                AC_MSG_WARN([No dports tree found])
37        fi
38
39         ])
40
41
42# OD_PATH_PORTCONFIGDIR(PREFIX)
43#---------------------------------------
44AC_DEFUN([OD_PATH_PORTCONFIGDIR],[
45        dnl if the user actually specified --prefix, shift
46        dnl portconfigdir to $prefix/etc/ports
47        dnl     AC_REQUIRE([OD_PATH_DPORTSDIR])
48       
49        AC_MSG_CHECKING([for ports config directory])
50
51        if test "$1" != "NONE" ; then
52                dnl user gave --prefix
53                portconfigdir='${sysconfdir}/ports'
54        else
55           case $host_os in
56           darwin*)
57                portconfigdir='/private/etc/ports'
58                ;;
59           *)
60                portconfigdir='/etc/ports'
61                ;;
62           esac
63        fi
64
65
66        AC_MSG_RESULT([$portconfigdir])
67        PORTCONFIGDIR="$portconfigdir"
68        AC_SUBST(PORTCONFIGDIR)
69
70        ])
71
72# OD_CHECK_INSTALLUSER
73#-------------------------------------------------
74AC_DEFUN([OD_CHECK_INSTALLUSER],[
75        dnl if with user specifies --with-install-user,
76        dnl use it. otherwise default to platform defaults
77        AC_REQUIRE([OD_PATH_PORTCONFIGDIR])
78
79        AC_ARG_WITH(install-user, [AC_HELP_STRING([--with-install-user=USER], [Specify user ownership of installed files])], [ DSTUSR=$withval ] )
80       
81        AC_MSG_CHECKING([for install user])
82        if test "x$DSTUSR" = "x" ; then
83           DSTUSR=root
84        fi
85
86        AC_MSG_RESULT([$DSTUSR])
87        AC_SUBST(DSTUSR)
88])
89
90# OD_CHECK_INSTALLGROUP
91#-------------------------------------------------
92AC_DEFUN([OD_CHECK_INSTALLGROUP],[
93        dnl if with user specifies --with-install-group,
94        dnl use it. otherwise default to platform defaults
95        AC_REQUIRE([OD_CHECK_INSTALLUSER])
96
97        AC_ARG_WITH(install-group, [AC_HELP_STRING([--with-install-group=GROUP], [Specify group ownership of installed files])], [ DSTGRP=$withval ] )
98
99        AC_MSG_CHECKING([for install group])
100        if test "x$DSTGRP" = "x" ; then
101           
102           case $host_os in
103           darwin*)
104                DSTGRP="admin"
105                ;;
106           *)
107                DSTGRP="wheel"
108                ;;
109           esac
110        fi
111
112        AC_MSG_RESULT([$DSTGRP])
113        AC_SUBST(DSTGRP)
114])
115
116# OD_DIRECTORY_MODE
117#-------------------------------------------------
118AC_DEFUN([OD_DIRECTORY_MODE],[
119        dnl if with user specifies --with-directory-mode,
120        dnl use the specified permissions for ${prefix} directories
121        dnl otherwise use 0775
122        AC_REQUIRE([OD_PATH_PORTCONFIGDIR])
123
124        AC_ARG_WITH(directory-mode, [AC_HELP_STRING([--with-directory-mode=MODE], [Specify directory mode of installed directories])], [ DSTMODE=$withval ] )
125       
126        AC_MSG_CHECKING([what permissions to use for installation directories])
127        if test "x$DSTMODE" = "x" ; then
128           DSTMODE=0775
129        fi
130
131        AC_MSG_RESULT([$DSTMODE])
132        AC_SUBST(DSTMODE)
133])
134
135# OD_LIB_MD5
136#---------------------------------------
137# Check for an md5 implementation
138AC_DEFUN([OD_LIB_MD5],[
139
140        # Check for libmd, which is prefered
141        AC_CHECK_LIB([md], [MD5Update],[
142                AC_CHECK_HEADERS([md5.h], ,[
143                        case $host_os in
144                                darwin*)       
145                                        AC_MSG_NOTICE([Please install the BSD SDK package from the Xcode Developer Tools CD.])
146                                        ;;
147                                *)     
148                                        AC_MSG_NOTICE([Please install the libmd developer headers for your platform.])
149                                        ;;
150                        esac
151                        AC_MSG_ERROR([libmd was found, but md5.h is missing.])
152                ])
153                AC_DEFINE([HAVE_LIBMD], ,[Define if you have the `md' library (-lmd).])
154                MD5_LIBS="-lmd"]
155        )
156        if test "x$MD5_LIBS" = "x" ; then
157                # If libmd is not found, check for libcrypto from OpenSSL
158                AC_CHECK_LIB([crypto], [MD5_Update],[
159                        AC_CHECK_HEADERS([openssl/md5.h],,[
160                                case $host_os in
161                                        darwin*)       
162                                        AC_MSG_NOTICE([Please install the BSD SDK package from the Xcode Developer Tools CD.])
163                                                ;;
164                                        *)     
165                                        AC_MSG_NOTICE([Please install the libmd developer headers for your platform.])
166                                                ;;
167                                esac
168                                AC_MSG_ERROR([libcrypt was found, but header file openssl/md5.h is missing.])
169                        ])
170                        AC_DEFINE([HAVE_LIBCRYPTO],,[Define if you have the `crypto' library (-lcrypto).])
171                        MD5_LIBS="-lcrypto"
172                ], [
173                        AC_MSG_ERROR([Neither OpenSSL or libmd were found. A working md5 implementation is required.])
174                ])
175        fi
176        if test "x$MD5_LIBS" = "x"; then
177                AC_MSG_ERROR([Neither OpenSSL or libmd were found. A working md5 implementation is required.])
178        fi
179        AC_SUBST([MD5_LIBS])
180])
181
182dnl This macro checks for X11 presence. If the libraries are
183dnl present, so must the headers be. If nothing is present,
184dnl print a warning
185
186# OD_CHECK_X11
187# ---------------------
188AC_DEFUN([OD_CHECK_X11], [
189
190        AC_PATH_XTRA
191
192        # Check for libX11
193        AC_CHECK_LIB([X11], [XOpenDisplay],[
194                has_x_runtime=yes
195                ], [ has_x_runtime=no ], [-L/usr/X11R6/lib $X_LIBS])
196
197#       echo "------done---------"
198#       echo "x_includes=${x_includes}"
199#       echo "x_libraries=${x_libraries}"
200#       echo "no_x=${no_x}"
201#       echo "X_CFLAGS=${X_CFLAGS}"
202#       echo "X_LIBS=${X_LIBS}"
203#       echo "X_DISPLAY_MISSING=${X_DISPLAY_MISSING}"
204#       echo "has_x_runtime=${has_x_runtime}"
205#       echo "host_os=${host_os}"
206#       echo "------done---------"
207
208        state=
209
210        case "__${has_x_runtime}__${no_x}__" in
211                "__no__yes__")
212                # either the user said --without-x, or it was not found
213                # at all (runtime or headers)
214                        AC_MSG_WARN([X11 not available. You will not be able to use dports that use X11])
215                        state=0
216                        ;;
217                "__yes__yes__")
218                        state=1
219                        ;;
220                "__yes____")
221                        state=2
222                        ;;
223                *)
224                        state=3
225                        ;;
226        esac
227
228        case $host_os in
229                darwin*)       
230                        case $state in
231                                1)
232                                        cat <<EOF;
233Please install the X11 SDK packages from the
234Xcode Developer Tools CD
235EOF
236                                        AC_MSG_ERROR([Broken X11 install. No X11 headers])
237
238                                        ;;
239                                3)
240                                        cat <<EOF;
241Unknown configuration problem. Please install the X11 runtime
242and/or X11 SDK  packages from the Xcode Developer Tools CD
243EOF
244                                        AC_MSG_ERROR([Broken X11 install])
245                                        ;;
246                        esac
247                        ;;
248                *)     
249                        case $state in
250                                1)
251                                        cat <<EOF;
252Please install the X11 developer headers for your platform
253EOF
254                                        AC_MSG_ERROR([Broken X11 install. No X11 headers])
255
256                                        ;;
257                                3)
258                                        cat <<EOF;
259Unknown configuration problem. Please install the X11
260implementation for your platform
261EOF
262                                        AC_MSG_ERROR([Broken X11 install])
263                                        ;;
264                        esac
265                        ;;
266        esac
267
268])
269
270# OD_PROG_MTREE
271#---------------------------------------
272AC_DEFUN([OD_PROG_MTREE],[
273
274        AC_PATH_PROG([MTREE], [mtree], ,  [/usr/bin:/usr/sbin:/bin:/sbin])
275
276        if test "x$MTREE" = "x" ; then
277                AC_CONFIG_SUBDIRS([src/programs/mtree])
278                MTREE='$(TOPSRCDIR)/src/programs/mtree/mtree'
279#               MTREE='${prefix}/bin/mtree'
280                REPLACEMENT_PROGS="$REPLACEMENT_PROGS mtree"
281        fi
282
283        AC_SUBST(MTREE)
284])
285
286#------------------------------------------------------------------------
287# OD_TCL_PACKAGE_DIR --
288#
289#       Locate the correct directory for Tcl package installation
290#
291# Arguments:
292#       None.
293#
294# Requires:
295#       TCLVERSION must be set
296#       CYGPATH must be set
297#       TCLSH must be set
298#
299# Results:
300#
301#       Adds a --with-tclpackage switch to configure.
302#       Result is cached.
303#
304#       Substs the following vars:
305#               TCL_PACKAGE_DIR
306#------------------------------------------------------------------------
307
308AC_DEFUN(OD_TCL_PACKAGE_DIR, [
309    AC_MSG_CHECKING(for Tcl package directory)
310
311    AC_ARG_WITH(tclpackage, [  --with-tclpackage       Tcl package installation directory.], with_tclpackagedir=${withval})
312
313    if test x"${with_tclpackagedir}" != x ; then
314        ac_cv_c_tclpkgd=${with_tclpackagedir}
315    else
316        AC_CACHE_VAL(ac_cv_c_tclpkgd, [
317            # Use the value from --with-tclpackagedir, if it was given
318
319            if test x"${with_tclpackagedir}" != x ; then
320                ac_cv_c_tclpkgd=${with_tclpackagedir}
321            else
322                # On darwin we can do some intelligent guessing
323                case $host_os in
324                    darwin*)
325                        tcl_autopath=`echo 'puts \$auto_path' | $TCLSH`
326                        for path in $tcl_autopath; do
327                            if test "$path" = "/Library/Tcl"; then
328                                ac_cv_c_tclpkgd="$path"
329                                break
330                            fi
331                            if test "$path" = "/System/Library/Tcl"; then
332                                if test -d "$path"; then
333                                    ac_cv_c_tclpkgd="$path"
334                                    break
335                                fi
336                            fi
337                        done
338                    ;;
339                esac
340                if test x"${ac_cv_c_tclpkgd}" = x ; then
341                    # Fudge a path from the first entry in the auto_path
342                    tcl_pkgpath=`echo 'puts [[lindex \$auto_path 0]]' | $TCLSH`
343                    if test -d "$tcl_pkgpath"; then
344                        ac_cv_c_tclpkgd="$tcl_pkgpath"
345                    fi
346                    # If the first entry does not exist, do nothing
347                fi
348            fi
349        ])
350    fi
351
352    if test x"${ac_cv_c_tclpkgd}" = x ; then
353        AC_MSG_ERROR(Tcl package directory not found.  Please specify its location with --with-tclpackagedir)
354    else
355        AC_MSG_RESULT(${ac_cv_c_tclpkgd})
356    fi
357
358    # Convert to a native path and substitute into the output files.
359
360    PACKAGE_DIR_NATIVE=`${CYGPATH} ${ac_cv_c_tclpkgd}`
361
362    TCL_PACKAGE_DIR=${PACKAGE_DIR_NATIVE}
363
364    AC_SUBST(TCL_PACKAGE_DIR)
365])
366
367# OD_PROG_TCLSH
368#---------------------------------------
369AC_DEFUN([OD_PROG_TCLSH],[
370
371
372        case $host_os in
373                freebsd*)
374                        # FreeBSD installs a dummy tclsh (annoying)
375                        # Look for a real versioned tclsh first
376                        AC_PATH_PROG([TCLSH], [tclsh${TCL_VERSION} tclsh])
377                        ;;
378                *)
379                        # Otherwise, look for a non-versioned tclsh
380                        AC_PATH_PROG([TCLSH], [tclsh tclsh${TCL_VERSION}])
381                        ;;
382        esac
383        if test "x$TCLSH" = "x" ; then
384                AC_MSG_ERROR([Could not find tclsh])
385        fi
386
387        AC_SUBST(TCLSH)
388])
389
390
391dnl This macro tests if the compiler supports GCC's
392dnl __attribute__ syntax for unused variables/parameters
393AC_DEFUN([OD_COMPILER_ATTRIBUTE_UNUSED], [
394        AC_MSG_CHECKING([how to mark unused variables])
395        AC_COMPILE_IFELSE(
396                [AC_LANG_SOURCE([[int a __attribute__ ((unused));]])],
397                [AC_DEFINE(UNUSED, [__attribute__((unused))], [Attribute to mark unused variables])],
398                [AC_DEFINE(UNUSED, [])])
399
400        AC_MSG_RESULT([])
401       
402])
403
404dnl This macro ensures DP installation prefix bin/sbin paths are NOT in PATH
405dnl for configure to prevent potential problems when base/ code is updated
406dnl and ports are installed that would match needed items.
407AC_DEFUN([OD_PATH_SCAN],[
408        oldprefix=$prefix
409        if test "x$prefix" = "xNONE" ; then
410                prefix=$ac_default_prefix
411        fi
412        oldPATH=$PATH
413        newPATH=
414        as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
415        for as_dir in $oldPATH
416        do
417                IFS=$as_save_IFS
418                if test "x$as_dir" != "x$prefix/bin" &&
419                        test "x$as_dir" != "x$prefix/sbin"; then
420                        if test -z "$newPATH"; then
421                                newPATH=$as_dir
422                        else
423                                newPATH=$newPATH$PATH_SEPARATOR$as_dir
424                        fi
425                fi
426        done
427        PATH=$newPATH; export PATH
428        prefix=$oldprefix
429])
430
Note: See TracBrowser for help on using the repository browser.