summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Neundorf <neundorf@kde.org>2007-09-17 19:18:35 (GMT)
committerAlexander Neundorf <neundorf@kde.org>2007-09-17 19:18:35 (GMT)
commit1d81cf994a85ddc0cc6c0626928c33cb8d94ea6d (patch)
treeb49b5798a1494d05eacb98be69be0fe20618605a
parentc190756e247d484bfc3ed8c3e1d626832dfc8954 (diff)
downloadCMake-1d81cf994a85ddc0cc6c0626928c33cb8d94ea6d.zip
CMake-1d81cf994a85ddc0cc6c0626928c33cb8d94ea6d.tar.gz
CMake-1d81cf994a85ddc0cc6c0626928c33cb8d94ea6d.tar.bz2
COMP: add a check for makedev, which isn't available with the PGI compiler
on Cray XT3 Alex
-rw-r--r--Utilities/cmtar/CMakeLists.txt1
-rw-r--r--Utilities/cmtar/config.h.in3
-rw-r--r--Utilities/cmtar/internal.h8
3 files changed, 12 insertions, 0 deletions
diff --git a/Utilities/cmtar/CMakeLists.txt b/Utilities/cmtar/CMakeLists.txt
index e1d8651..6450338 100644
--- a/Utilities/cmtar/CMakeLists.txt
+++ b/Utilities/cmtar/CMakeLists.txt
@@ -107,6 +107,7 @@ FOREACH(func
glob
major
minor
+ makedev
)
CHECK_SYMBOL_EXISTS_EX("${func}")
ENDFOREACH(func)
diff --git a/Utilities/cmtar/config.h.in b/Utilities/cmtar/config.h.in
index b3b7f5c..db619b0 100644
--- a/Utilities/cmtar/config.h.in
+++ b/Utilities/cmtar/config.h.in
@@ -9,6 +9,9 @@
/* Define if your system has a working minor */
#cmakedefine HAVE_MINOR @HAVE_MINOR@
+/* Define if your system has a working minor */
+#cmakedefine HAVE_MAKEDEV @HAVE_MAKEDEV@
+
/* Define to 1 if you have the <ctype.h> header file. */
#cmakedefine HAVE_CTYPE_H @HAVE_CTYPE_H@
diff --git a/Utilities/cmtar/internal.h b/Utilities/cmtar/internal.h
index 01dc903..c1bba63 100644
--- a/Utilities/cmtar/internal.h
+++ b/Utilities/cmtar/internal.h
@@ -25,3 +25,11 @@
#ifndef HAVE_MINOR
# define minor(dev) ((int)((dev) & 0xff))
#endif
+/* On Cray XT3 when using thr PGI pgcc 7.0.4 sys/sysmacros.h ends up without
+ makedev(), since __i386__ is not defined when GLIBC_HAVE_LONG_LONG should
+ be enabled in features.h */
+#ifndef HAVE_MAKEDEV
+# define makedev(major, minor) ((((int)((major) & 0xff)) << 8 ) \
+ | ((int)((minor) & 0xff)) )
+#endif
+