Changeset: 32f0331618ea for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=32f0331618ea
Modified Files:
        
Branch: default
Log Message:

Merge with default


diffs (262 lines):

diff --git a/configure.ag b/configure.ag
--- a/configure.ag
+++ b/configure.ag
@@ -1272,9 +1272,6 @@
 AC_CHECK_PROG(MV,mv,mv -f)
 AC_PROG_LN_S
 AC_CHECK_PROG(LOCKFILE,lockfile,lockfile -r 2,echo)
-if test x"$LOCKFILE" = x"echo" ; then
-       AC_MSG_WARN([no lockfile found, please do NOT parallelise the build 
process!])
-fi
 
 AC_CHECK_PROGS(RPMBUILD,rpmbuild rpm)
 
@@ -1598,15 +1595,18 @@
 AC_PROG_YACC
 AC_DEFINE(YYENABLE_NLS, 0, [Needed to compile bison-generated code.])
 AC_DEFINE(YYLTYPE_IS_TRIVIAL, 0, [Needed to compile bison-generated code.])
-if test "x$YACC" = x; then
-       if test "x$enable_sql" = xyes; then
-               AC_MSG_ERROR([MonetDB/SQL requires YACC or BISON.])
-       fi
-       enable_sql=no
-       if test "x$disable_sql" = x; then
-               disable_sql="(MonetDB/SQL requires YACC or BISON.)"
-       fi
-fi
+case "$YACC" in
+       bison*)  YACC="$YACC"  ;;
+       *)
+               if test "x$enable_sql" = xyes; then
+                       AC_MSG_ERROR([MonetDB/SQL requires bison])
+               fi
+               enable_sql=no
+               if test "x$disable_sql" = x; then
+                       disable_sql="(MonetDB/SQL requires bison)"
+               fi
+       ;;
+esac
 
 AC_CHECK_PROG(TEXI2HTML,texi2html,texi2html)
 AC_CHECK_PROG(LATEX2HTML,latex2html,latex2html)
@@ -2049,8 +2049,9 @@
 AC_SUBST(PTHREAD_LIBS)
 AC_SUBST(PTHREAD_INCS)
 
+dnl sysctl is in libc on FreeBSD and NetBSD according to their manpages
 C_LIBS=""
-AC_CHECK_LIB(c, sysctlbyname, [ C_LIBS="-lc" ] )
+AC_CHECK_LIB(c, sysctl, [ C_LIBS="-lc" ] )
 AC_SUBST(C_LIBS)
 
 dnl libreadline
@@ -3242,3 +3243,28 @@
 echo
 echo "* Important options:"
 echo "    OID size:   " ${bits} bits
+echo
+
+dnl give some hints to the user
+case "`make -v 2>&1`" in
+'GNU Make '*)
+       ;;
+*)
+       echo "'make' not found in PATH or not GNU Make."
+       case "`gmake -v 2>&1`" in
+       'GNU Make '*)
+               echo "Please use 'gmake' to build MonetDB."
+               ;;
+       *)
+               echo "'gmake' not found in PATH or not GNU Make."
+               echo "Please make sure you have GNU Make installed and use it 
to build MonetDB."
+               ;;
+       esac
+       echo
+       ;;
+esac
+
+if test x"$LOCKFILE" = x"echo" ; then
+       echo "'lockfile' not found (usually part of a package named procmail)"
+       echo "Please do NOT parallelise the build process! (use -j1 with make)"
+fi
diff --git a/gdk/gdk_system.mx b/gdk/gdk_system.mx
--- a/gdk/gdk_system.mx
+++ b/gdk/gdk_system.mx
@@ -858,18 +858,16 @@
 #if defined(HAVE_SYSCONF) && defined(_SC_NPROCESSORS_ONLN)
        /* this works on Linux, Solaris and AIX */
        ncpus = sysconf(_SC_NPROCESSORS_ONLN);
-#elif defined(__FreeBSD__) || defined(__NetBSD__) || defined(__MACH__)
+#elif defined(HAVE_SYS_SYSCTL_H) && defined(HW_NCPU)   /* BSD */
        size_t len = sizeof(int);
-
-       /* sysctl should work on most BSDs (includes Darwin) */
-       sysctlbyname("hw.ncpu", &ncpus, &len, NULL, 0);
-#elif defined(__OpenBSD__)
-       size_t len = sizeof(int);
-       int mib[2];
+       int mib[3];
 
        /* Everyone should have permission to make this call, 
         * if we get a failure something is really wrong. */
-       sysctl(mib, 2, &ncpus, &len, NULL, 0);
+       mib[0] = CTL_HW;
+       mib[1] = HW_NCPU;
+       mib[2] = -1;
+       sysctl(mib, 3, &ncpus, &len, NULL, 0);
 #elif defined(WIN32)
        SYSTEM_INFO sysinfo;
 
diff --git a/gdk/gdk_utils.mx b/gdk/gdk_utils.mx
--- a/gdk/gdk_utils.mx
+++ b/gdk/gdk_utils.mx
@@ -471,20 +471,20 @@
                GetSystemInfo(&sysInfo);
                _MT_pagesize = sysInfo.dwPageSize;
        }
-#else
-# if defined(HAVE_SYS_SYSCTL_H) && defined(HW_PAGESIZE)
+#elif defined(HAVE_SYS_SYSCTL_H) && defined(HW_PAGESIZE)
        {
-               int size = 0;
-               size_t len = sizeof(size);
+               size_t len = sizeof(_MT_pagesize);
+               int mib[3];
 
-               sysctlbyname("hw.pagesize", &size, &len, NULL, 0);
-               _MT_pagesize = size;
+               /* Everyone should have permission to make this call, 
+                * if we get a failure something is really wrong. */
+               mib[0] = CTL_HW;
+               mib[1] = HW_PAGESIZE;
+               mib[2] = -1;
+               sysctl(mib, 3, &_MT_pagesize, &len, NULL, 0);
        }
-# else
-#  if defined(HAVE_SYSCONF) && defined(_SC_PAGESIZE)
+#elif defined(HAVE_SYSCONF) && defined(_SC_PAGESIZE)
        _MT_pagesize = sysconf(_SC_PAGESIZE);
-#  endif
-# endif
 #endif
        if (_MT_pagesize <= 0)
                _MT_pagesize = 4096;    /* default */
@@ -497,32 +497,49 @@
                if (GlobalMemoryStatusEx(&memStatEx))
                        _MT_npages = (size_t) (memStatEx.ullTotalPhys / 
_MT_pagesize);
        }
-#else
-# ifdef HAVE_GLOBALMEMORYSTATUS
+#elif defined(HAVE_GLOBALMEMORYSTATUS)
        if (_MT_npages <= 0) {
                MEMORYSTATUS memStat;
 
                GlobalMemoryStatus(&memStat);
                _MT_npages = memStat.dwTotalPhys / _MT_pagesize;
        }
-# else
-#  if defined(HAVE_SYS_SYSCTL_H) && defined(HW_MEMSIZE)
+#elif defined(HAVE_SYS_SYSCTL_H) && defined(HW_MEMSIZE)
+       /* FreeBSD, NetBSD, Darwin */
        {
                uint64_t size = 0;
                size_t len = sizeof(size);
+               int mib[3];
 
-               sysctlbyname("hw.memsize", &size, &len, NULL, 0);
+               /* Everyone should have permission to make this call, 
+                * if we get a failure something is really wrong. */
+               mib[0] = CTL_HW;
+               mib[1] = HW_MEMSIZE;
+               mib[2] = -1;
+               sysctl(mib, 3, &size, &len, NULL, 0);
                _MT_npages = size / _MT_pagesize;
        }
-#  else
-#   if defined(HAVE_SYSCONF) && defined(_SC_PHYS_PAGES)
+#elif defined(HAVE_SYS_SYSCTL_H) && defined (HW_PHYSMEM64)
+       /* OpenBSD */
+       {
+               int64_t size = 0;
+               size_t len = sizeof(size);
+               int mib[3];
+
+               /* Everyone should have permission to make this call, 
+                * if we get a failure something is really wrong. */
+               mib[0] = CTL_HW;
+               mib[1] = HW_PHYSMEM64;
+               mib[2] = -1;
+               sysctl(mib, 3, &size, &len, NULL, 0);
+               _MT_npages = size / _MT_pagesize;
+       }
+#elif defined(HAVE_SYSCONF) && defined(_SC_PHYS_PAGES)
        _MT_npages = sysconf(_SC_PHYS_PAGES);
-#   else
-#    error "don't know how to get the amount of physical memory for your OS"
-#   endif /* sysctl */
-#  endif /* sysconf */
-# endif        /* GlobalMemoryStatus */
-#endif /* GlobalMemoryStatusEx */
+#else
+# error "don't know how to get the amount of physical memory for your OS"
+#endif
+
 #ifdef HAVE_GETRLIMIT
        {
                struct rlimit rl;
diff --git a/tools/merovingian/utils/properties.c 
b/tools/merovingian/utils/properties.c
--- a/tools/merovingian/utils/properties.c
+++ b/tools/merovingian/utils/properties.c
@@ -40,7 +40,7 @@
        {"optpipe",  NULL, 0, STR},
        {"master",   NULL, 0, STR},
        {"slave",    NULL, 0, MURI},
-       {"readonly", NULL, 0, BOOL},
+       {"readonly", NULL, 0, BOOLEAN},
        { NULL,      NULL, 0, INVALID}
 };
 
@@ -223,7 +223,7 @@
                         * it is a freeform string, that sometimes happens to 
be a
                         * UUID)
                         * first perform a sneaky hack to do the boolean check 
*/
-                       kv->type = BOOL;
+                       kv->type = BOOLEAN;
                        if ((err = setConfVal(kv, val)) != NULL) {
                                free(err);
                                /* restore */
diff --git a/tools/merovingian/utils/utils.c b/tools/merovingian/utils/utils.c
--- a/tools/merovingian/utils/utils.c
+++ b/tools/merovingian/utils/utils.c
@@ -174,7 +174,7 @@
                        }
                        ival = atoi(val);
                }; break;
-               case BOOL: {
+               case BOOLEAN: {
                        if (strcasecmp(val, "true") == 0 ||
                                        strcasecmp(val, "yes") == 0 ||
                                        strcmp(val, "1") == 0)
diff --git a/tools/merovingian/utils/utils.h b/tools/merovingian/utils/utils.h
--- a/tools/merovingian/utils/utils.h
+++ b/tools/merovingian/utils/utils.h
@@ -26,7 +26,7 @@
 enum valtype {
        INVALID = 0,
        INT,
-       BOOL,
+       BOOLEAN,
        STR,
        MURI,
        OTHER
diff --git a/tools/mserver/Makefile.ag b/tools/mserver/Makefile.ag
--- a/tools/mserver/Makefile.ag
+++ b/tools/mserver/Makefile.ag
@@ -33,6 +33,6 @@
        SOURCES = mserver5.c monet_version.h monet_version.c.in
        LIBS = ../../monetdb5/tools/libmonetdb5 \
                ../../gdk/libbat \
-               $(SOCKET_LIBS) $(MALLOC_LIBS) $(PTHREAD_LIBS) $(DL_LIBS) \
+               $(SOCKET_LIBS) $(MALLOC_LIBS) $(PTHREAD_LIBS) $(DL_LIBS) 
$(C_LIBS) \
                $(curl_LIBS) $(pcre_LIBS) $(openssl_LIBS) $(PSAPILIB)
 }
_______________________________________________
Checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list

Reply via email to