diff options
-rw-r--r-- | Makefile | 2 | ||||
-rw-r--r-- | src/test/test.c | 20 | ||||
-rw-r--r-- | src/test/update-warnings.h | 60 |
3 files changed, 63 insertions, 19 deletions
@@ -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 + |