package/netsurf: use TMP_PREFIX inside the build directory
authorThomas Petazzoni <thomas.petazzoni@bootlin.com>
Mon, 17 Dec 2018 08:47:10 +0000 (09:47 +0100)
committerArnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Sun, 3 Feb 2019 20:27:20 +0000 (21:27 +0100)
The netsurf build system creates a stamp file inside TMP_PREFIX to
know if the build was done, and if the stamp file exists, it doesn't
do any build. Therefore, having this stamp file in STAGING_DIR
prevents from rebuilding netsurf, even after removing its entire build
directory: the stamp file exists in STAGING_DIR, and netsurf doesn't
build anything, causing the installation to fail.

We fix this by putting this temporary directory inside the netsurf
build directory. We must mkdir this directory manually, otherwise the
build fails with:

COMPILE: src/stylesheet.c
In file included from src/stylesheet.c:12:0:
src/stylesheet.h:14:10: fatal error: libwapcaplet/libwapcaplet.h: No such file or directory
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
[Arnout: mkdir it first]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
package/netsurf/netsurf.mk

index 2e17c5768fd60ed55017bc8e2e74927c5f375d12..d1efd66f3447dda1246ca67d69780326dc6a9966 100644 (file)
@@ -78,11 +78,12 @@ NETSURF_MAKE_OPTS = \
        BUILD_CC="$(HOSTCC)" \
        CC="$(TARGET_CC)" \
        AR="$(TARGET_AR)" \
-       TMP_PREFIX=$(STAGING_DIR)/usr \
+       TMP_PREFIX=$(@D)/tmpusr \
        NETSURF_CONFIG="$(NETSURF_CONFIG)" \
        PREFIX=/usr
 
 define NETSURF_BUILD_CMDS
+       mkdir -p $(@D)/tmpusr
        $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) $(NETSURF_MAKE_OPTS) \
                build
 endef