# BuildConfig/DetectLibs.rules # Author: Patrick Baggett # Created: 4/24/2014 # # Purpose: # # Detects presence of libraries # # License: # # This program is free software. It comes without any warranty, to # the extent permitted by applicable law. You can redistribute it # and/or modify it under the terms of the Do What The Fuck You Want # To Public License, Version 2, as published by Sam Hocevar. See # http://sam.zoy.org/wtfpl/COPYING for more details. # There is no reason for us to do this here - the reason being is that automatic detection with no alternative is simply a waste of time. # It's better to have individual makefiles that you include for system stacks. Compiler detection and bifurcation is really solid - the auto # detection is best left to full fledged build tools - since that's literally what auto-tools does. # # Use this file as as temp file TEMPFILE := $(shell mktemp 2>/dev/null || mktemp -t 'mytmpdir') #Detect a library, called as: $(call detectLib,file.h,HAVE_FILE_H) detectLib = $(shell echo "\#include $(1)" > $(TEMPFILE); $(CC) -E $(TEMPFILE) >/dev/null 2>&1; if [ $$? -eq 0 ]; then echo "-D$(2)"; else echo ""; fi) DETECTED_LIBS := DETECTED_LIBS += $(call detectLib,,HAVE_XLIB) DETECTED_LIBS += $(call detectLib,,HAVE_XINPUT2) DETECTED_LIBS += $(call detectLib,,HAVE_WAYLAND) DETECTED_LIBS += $(call detectLib,,HAVE_EGL) FORCE_REMOVE := $(shell rm $(TEMPFILE)) OS_CXXFLAGS += $(DETECTED_LIBS) OS_CFLAGS += $(DETECTED_LIBS)