aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Makefile2
-rw-r--r--src/test/test.c20
-rw-r--r--src/test/update-warnings.h60
3 files changed, 63 insertions, 19 deletions
diff --git a/Makefile b/Makefile
index 710e207..22638ba 100644
--- a/Makefile
+++ b/Makefile
@@ -139,7 +139,7 @@ bin/test: $(foreach O,$(TESTOBJ),obj/test/$(O).o) bin/libgamma.so.$(LIB_VERSION)
mkdir -p $(shell dirname $@)
$(CC) $(TEST_FLAGS) $(LIBS_LD) -Lbin -lgamma -o $@ $(foreach O,$(TESTOBJ),obj/test/$(O).o)
-obj/test/%.o: src/test/%.c src/lib/libgamma*.h
+obj/test/%.o: src/test/%.c src/test/*.h src/lib/libgamma*.h
mkdir -p $(shell dirname $@)
$(CC) $(TEST_FLAGS) -Isrc/lib -c -o $@ $<
diff --git a/src/test/test.c b/src/test/test.c
index e21bf51..ceff71b 100644
--- a/src/test/test.c
+++ b/src/test/test.c
@@ -17,6 +17,8 @@
*/
#include <libgamma.h>
+#include "update-warnings.h"
+
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
@@ -24,24 +26,6 @@
#include <unistd.h>
-#ifdef __GNUC__
-# if LIBGAMMA_ERROR_MIN < -46
-# warning New error codes have been added to libgamma.
-# endif
-# if LIBGAMMA_METHOD_COUNT > 6
-# warning New adjust methods has been added to libgamma
-# endif
-# if LIBGAMMA_CONNECTOR_TYPE_COUNT > 20
-# warning New connector types have been added to libgamma.
-# endif
-# if LIBGAMMA_SUBPIXEL_ORDER_COUNT > 6
-# warning New subpixel orders have been added to libgamma.
-# endif
-# if LIBGAMMA_CRTC_INFO_COUNT > 13
-# warning New CRTC information fields have been added to libgamma.
-# endif
-#endif
-
static const char* method_name(int method)
{
diff --git a/src/test/update-warnings.h b/src/test/update-warnings.h
new file mode 100644
index 0000000..05cf242
--- /dev/null
+++ b/src/test/update-warnings.h
@@ -0,0 +1,60 @@
+/**
+ * libgamma — Display server abstraction layer for gamma ramp adjustments
+ * Copyright © 2014 Mattias Andrée (maandree@member.fsf.org)
+ *
+ * This library is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this library. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include <libgamma.h>
+
+
+/*
+ * This file testes whether the program is out of date
+ * when it is compiled. This is done by checking for newer
+ * values of constants that tells us how much there is of
+ * different things for which we may want to create
+ * descriptions or otherwise handle especially.
+ *
+ * To get the current value of for example `LIBGAMMA_ERROR_MIN`
+ * simply run the command
+ *
+ * cpp <<EOF | tail -n 1
+ * #include <libgamma.h>
+ * LIBGAMMA_ERROR_MIN
+ * EOF
+ *
+ * However, we only do this for if GCC is used to
+ * compile the program because the #warning CPP
+ * directive is a GCC extension. If you are not
+ * using GNU you may want to find another way to
+ * accomplish this.
+ */
+
+#ifdef __GNUC__
+# if LIBGAMMA_ERROR_MIN < -46
+# warning New error codes have been added to libgamma.
+# endif
+# if LIBGAMMA_METHOD_COUNT > 6
+# warning New adjust methods has been added to libgamma
+# endif
+# if LIBGAMMA_CONNECTOR_TYPE_COUNT > 20
+# warning New connector types have been added to libgamma.
+# endif
+# if LIBGAMMA_SUBPIXEL_ORDER_COUNT > 6
+# warning New subpixel orders have been added to libgamma.
+# endif
+# if LIBGAMMA_CRTC_INFO_COUNT > 13
+# warning New CRTC information fields have been added to libgamma.
+# endif
+#endif
+