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