summaryrefslogtreecommitdiff
path: root/framebuffer
diff options
context:
space:
mode:
authorVincent Sanders <vince@kyllikki.org>2015-05-03 14:06:11 +0100
committerVincent Sanders <vince@kyllikki.org>2015-05-03 14:06:11 +0100
commit3c129b32212dfe1737cf7e30f041f5ac2b6f322d (patch)
tree093037a150227c99800e1abca5f9ee15a011d567 /framebuffer
parent2aef095f27e55600f6cbdf6f3d4c4f1fe584f07b (diff)
downloadnetsurf-3c129b32212dfe1737cf7e30f041f5ac2b6f322d.tar.gz
netsurf-3c129b32212dfe1737cf7e30f041f5ac2b6f322d.tar.bz2
Improve handling of compiler flags for resource tools with framebuffer
Diffstat (limited to 'framebuffer')
-rw-r--r--framebuffer/Makefile.target61
1 files changed, 36 insertions, 25 deletions
diff --git a/framebuffer/Makefile.target b/framebuffer/Makefile.target
index 0431abf69..7b5e85057 100644
--- a/framebuffer/Makefile.target
+++ b/framebuffer/Makefile.target
@@ -2,17 +2,11 @@
# Framebuffer target setup
# ----------------------------------------------------------------------------
-$(eval $(call feature_enabled,PNG,-DWITH_PNG,-lpng,PNG (libpng) ))
-
-ifeq ($(NETSURF_FB_FONTLIB),freetype)
- CFLAGS += -DFB_USE_FREETYPE $(shell freetype-config --cflags)
- LDFLAGS += $(shell freetype-config --libs)
-endif
-
# define additional CFLAGS and LDFLAGS requirements for pkg-configed libs here
NETSURF_FEATURE_RSVG_CFLAGS := -DWITH_RSVG
NETSURF_FEATURE_ROSPRITE_CFLAGS := -DWITH_NSSPRITE
NETSURF_FEATURE_HUBBUB_CFLAGS := -DWITH_HUBBUB
+NETSURF_FEATURE_PNG_CFLAGS := -DWITH_PNG
NETSURF_FEATURE_BMP_CFLAGS := -DWITH_BMP
NETSURF_FEATURE_GIF_CFLAGS := -DWITH_GIF
NETSURF_FEATURE_JS_CFLAGS := -DWITH_JS -DJS_HAS_FILE_OBJECT=0
@@ -36,41 +30,49 @@ CFLAGS += '-DNETSURF_FB_FONT_MONOSPACE_BOLD="$(NETSURF_FB_FONT_MONOSPACE_BOLD)"'
CFLAGS += '-DNETSURF_FB_FONT_CURSIVE="$(NETSURF_FB_FONT_CURSIVE)"'
CFLAGS += '-DNETSURF_FB_FONT_FANTASY="$(NETSURF_FB_FONT_FANTASY)"'
-$(eval $(call pkg_config_find_and_add_enabled,ROSPRITE,librosprite,Sprite))
-$(eval $(call pkg_config_find_and_add_enabled,BMP,libnsbmp,BMP))
-$(eval $(call pkg_config_find_and_add_enabled,GIF,libnsgif,GIF))
-$(eval $(call pkg_config_find_and_add_enabled,MOZJS,mozjs185,JavaScript))
-$(eval $(call pkg_config_find_and_add_enabled,JS,mozilla-js,JavaScript))
-
CFLAGS += -std=c99 -g -Dsmall \
-D_BSD_SOURCE \
-D_DEFAULT_SOURCE \
-D_XOPEN_SOURCE=600 \
- -D_POSIX_C_SOURCE=200112L \
- $(shell $(PKG_CONFIG) --cflags libnsfb openssl)
+ -D_POSIX_C_SOURCE=200112L
-LDFLAGS += -lm -Wl,--whole-archive $(shell $(PKG_CONFIG) --libs libnsfb) -Wl,--no-whole-archive
+LDFLAGS += -lm
+# non optional pkg-configed libs
+LDFLAGS += -Wl,--whole-archive
+$(eval $(call pkg_config_find_and_add,libnsfb,libnsfb))
+LDFLAGS += -Wl,--no-whole-archive
+
+$(eval $(call pkg_config_find_and_add,openssl,OpenSSL))
+
+# freemint does not support pkg-config for libcurl
ifeq ($(HOST),mint)
- # freemint does not support pkg-config for libcurl
CFLAGS += $(shell curl-config --cflags)
-
LDFLAGS += $(shell curl-config --libs)
- LDFLAGS += $(shell $(PKG_CONFIG) --libs openssl)
- LDFLAGS += -L/usr/lib/ -lz -liconv
- LDFLAGS += -lm
+ LDFLAGS += -L/usr/lib/ -lz -liconv
else
- CFLAGS += $(shell $(PKG_CONFIG) --cflags libcurl)
+ $(eval $(call pkg_config_find_and_add,libcurl,Curl ))
+endif
- LDFLAGS += $(shell $(PKG_CONFIG) --libs libcurl openssl)
+# freetype is optional but does not use pkg-config
+ifeq ($(NETSURF_FB_FONTLIB),freetype)
+ CFLAGS += -DFB_USE_FREETYPE $(shell freetype-config --cflags)
+ LDFLAGS += $(shell freetype-config --libs)
endif
+# optional pkg configured libraries
+$(eval $(call pkg_config_find_and_add_enabled,PNG,libpng,PNG))
+$(eval $(call pkg_config_find_and_add_enabled,ROSPRITE,librosprite,Sprite))
+$(eval $(call pkg_config_find_and_add_enabled,BMP,libnsbmp,BMP))
+$(eval $(call pkg_config_find_and_add_enabled,GIF,libnsgif,GIF))
+$(eval $(call pkg_config_find_and_add_enabled,MOZJS,mozjs185,JavaScript))
+$(eval $(call pkg_config_find_and_add_enabled,JS,mozilla-js,JavaScript))
+
# ----------------------------------------------------------------------------
# built-in resource setup
# ----------------------------------------------------------------------------
-
FB_IMAGE_left_arrow := framebuffer/res/icons/back.png
FB_IMAGE_right_arrow := framebuffer/res/icons/forward.png
FB_IMAGE_reload := framebuffer/res/icons/reload.png
@@ -107,13 +109,22 @@ FB_IMAGE_throbber6 := framebuffer/res/throbber/throbber6.png
FB_IMAGE_throbber7 := framebuffer/res/throbber/throbber7.png
FB_IMAGE_throbber8 := framebuffer/res/throbber/throbber8.png
+# local compiler flags
+ifeq ($(HOST),OpenBSD)
+ HOST_CFLAGS += $(shell $(PKG_CONFIG) --cflags libpng)
+ HOST_LDFLAGS += $(shell $(PKG_CONFIG) --libs openssl)
+else
+ HOST_CFLAGS +=
+ HOST_LDFLAGS += -lpng
+endif
+
# Host tool to convert image bitmaps to source code.
#
# convert_image dependd on fb_bitmap.h so that if we change that
# header, we get new images built.
$(TOOLROOT)/convert_image: $(TOOLROOT)/created framebuffer/convert_image.c framebuffer/fbtk.h
$(VQ)echo " HOST CC: $@"
- $(Q)$(HOST_CC) -o $@ framebuffer/convert_image.c -lpng
+ $(Q)$(HOST_CC) $(HOST_CFLAGS) -o $@ framebuffer/convert_image.c $(HOST_LDFLAGS)
# 1: input file
# 2: output file