aur/java-openjfx-flags.patch
Frederik Schwan c83264ba77 fix gcc error
Due to multiple consecutive whitespaces in our CFLAGS variable,
the gradle function introduced to parse these options failed
and added whitespaces as arguments. This made gcc fail with messages
like
```
gcc: warning: : linker input file unused because linking not done
gcc: error: : linker input file not found: No such file or directory
```
Creds @loqs for finding the root cause of this.

Fixed by replacing multiple consecutive whitespaces within the
parsing code in gradle
2022-02-17 00:56:55 +00:00

234 lines
8.5 KiB
Diff

From a28f9aaab759d82384279c16d86bb98ab47412a3 Mon Sep 17 00:00:00 2001
From: Georgy Yakovlev <gyakovlev@gentoo.org>
Date: Sat, 1 Jun 2019 00:12:55 -0700
Subject: [PATCH] respect user cflags
---
buildSrc/linux.gradle | 7 ++++++-
.../gstreamer/projects/linux/avplugin/Makefile | 16 ++++++----------
.../gstreamer/projects/linux/fxplugins/Makefile | 17 ++++++-----------
.../projects/linux/gstreamer-lite/Makefile | 16 ++++++----------
.../native/jfxmedia/projects/linux/Makefile | 16 ++++++----------
5 files changed, 30 insertions(+), 42 deletions(-)
diff --git a/buildSrc/linux.gradle b/buildSrc/linux.gradle
index 7a7cbc72..6705a0f3 100644
--- a/buildSrc/linux.gradle
+++ b/buildSrc/linux.gradle
@@ -44,8 +44,11 @@ LINUX.library = { name -> return "lib${name}.so" as String }
def commonFlags = [
"-fno-strict-aliasing", "-fPIC", "-fno-omit-frame-pointer", // optimization flags
"-fstack-protector",
+ "-Wno-error=cast-function-type",
"-Wextra", "-Wall", "-Wformat-security", "-Wno-unused", "-Wno-parentheses", "-Werror=trampolines"] // warning flags
+commonFlags.addAll(System.getenv("CFLAGS").trim().replaceAll(" +", " ").split(" "))
+
if (!IS_64) {
commonFlags += "-m32"
}
@@ -70,6 +70,7 @@
def staticLinkFlags = [].flatten()
def linkFlags = IS_STATIC_BUILD ? staticLinkFlags : dynamicLinkFlags;
+linkFlags.addAll(System.getenv("LDFLAGS").trim().split(" "))
if (IS_DEBUG_NATIVE) {
linkFlags += "-g"
@@ -294,7 +299,7 @@ LINUX.iio.nativeSource = [
LINUX.iio.compiler = compiler
LINUX.iio.ccFlags = [cFlags, "-fvisibility=hidden"].flatten()
LINUX.iio.linker = IS_STATIC_BUILD ? "ld" : linker
-LINUX.iio.linkFlags = [linkFlags].flatten()
+LINUX.iio.linkFlags = [linkFlags, "-ljpeg"].flatten()
LINUX.iio.lib = "javafx_iio"
LINUX.prismES2 = [:]
diff --git a/modules/javafx.media/src/main/native/gstreamer/projects/linux/avplugin/Makefile b/modules/javafx.media/src/main/native/gstreamer/projects/linux/avplugin/Makefile
index 450b55d3..f27b9479 100644
--- a/modules/javafx.media/src/main/native/gstreamer/projects/linux/avplugin/Makefile
+++ b/modules/javafx.media/src/main/native/gstreamer/projects/linux/avplugin/Makefile
@@ -17,7 +17,7 @@ TARGET = $(BUILD_DIR)/lib$(BASE_NAME).so
OBJBASE_DIR = $(BUILD_DIR)/obj/plugins/avplugin
endif
-CFLAGS = -fPIC \
+CFLAGS := -fPIC \
-Wformat \
-Wextra \
-Wformat-security \
@@ -29,17 +29,13 @@ CFLAGS = -fPIC \
-DLINUX \
-DGST_DISABLE_LOADSAVE \
-DGSTREAMER_LITE \
- -ffunction-sections -fdata-sections
+ -ffunction-sections -fdata-sections \
+ ${CFLAGS}
ifneq ($(ARCH), aarch64)
CFLAGS += -msse2
endif
-ifeq ($(BUILD_TYPE), Release)
- CFLAGS += -Os
-else
- CFLAGS += -g -Wall
-endif
PACKAGES_INCLUDES := $(shell pkg-config --cflags glib-2.0)
PACKAGES_LIBS := $(shell pkg-config --libs glib-2.0 gobject-2.0)
@@ -46,11 +41,12 @@ INCLUDES= -I../../../plugins \
-I../../../gstreamer-lite/gstreamer/libs \
$(PACKAGES_INCLUDES)
-LDFLAGS = -L$(BUILD_DIR) \
+LDFLAGS := -L$(BUILD_DIR) \
-lgstreamer-lite \
$(PACKAGES_LIBS) \
-z relro \
- -static-libgcc -static-libstdc++ -Wl,--gc-sections
+ -static-libgcc -static-libstdc++ -Wl,--gc-sections \
+ ${LDFLAGS}
ifneq ($(strip $(LIBAV_DIR)),)
INCLUDES += -I$(LIBAV_DIR)/include
diff --git a/modules/javafx.media/src/main/native/gstreamer/projects/linux/fxplugins/Makefile b/modules/javafx.media/src/main/native/gstreamer/projects/linux/fxplugins/Makefile
index 1e58d4d3..627865f9 100644
--- a/modules/javafx.media/src/main/native/gstreamer/projects/linux/fxplugins/Makefile
+++ b/modules/javafx.media/src/main/native/gstreamer/projects/linux/fxplugins/Makefile
@@ -14,7 +14,7 @@ DIRLIST = progressbuffer \
TARGET = $(BUILD_DIR)/lib$(BASE_NAME).so
-CFLAGS = -fPIC \
+CFLAGS := -fPIC \
-Wformat \
-Wextra \
-Wformat-security \
@@ -30,18 +30,13 @@ CFLAGS = -fPIC \
-DGST_DISABLE_LOADSAVE \
-DGST_DISABLE_GST_DEBUG \
-DGSTREAMER_LITE \
- -ffunction-sections -fdata-sections
+ -ffunction-sections -fdata-sections \
+ ${CFLAGS}
ifneq ($(ARCH), aarch64)
CFLAGS += -msse2
endif
-ifeq ($(BUILD_TYPE), Release)
- CFLAGS += -Os
-else
- CFLAGS += -g -Wall
-endif
-
INCLUDES = -I$(SRCBASE_DIR) \
$(addprefix -I$(SRCBASE_DIR)/,$(DIRLIST)) \
@@ -47,9 +41,10 @@ INCLUDES = -I$(SRCBASE_DIR) \
PACKAGES_INCLUDES := $(shell pkg-config --cflags glib-2.0)
PACKAGES_LIBS := $(shell pkg-config --libs glib-2.0 gobject-2.0)
-LDFLAGS = -L$(BUILD_DIR) -lgstreamer-lite $(PACKAGES_LIBS) \
+LDFLAGS := -L$(BUILD_DIR) -lgstreamer-lite $(PACKAGES_LIBS) \
-z relro \
- -static-libgcc -static-libstdc++ -Wl,--gc-sections
+ -static-libgcc -static-libstdc++ -Wl,--gc-sections \
+ ${LDFLAGS}
ifeq ($(ARCH), x32)
CFLAGS += -m32
diff --git a/modules/javafx.media/src/main/native/gstreamer/projects/linux/gstreamer-lite/Makefile b/modules/javafx.media/src/main/native/gstreamer/projects/linux/gstreamer-lite/Makefile
index 5baa30a1..ddf0e521 100644
--- a/modules/javafx.media/src/main/native/gstreamer/projects/linux/gstreamer-lite/Makefile
+++ b/modules/javafx.media/src/main/native/gstreamer/projects/linux/gstreamer-lite/Makefile
@@ -37,7 +37,7 @@ DIRLIST = gstreamer/gst \
TARGET = $(BUILD_DIR)/lib$(BASE_NAME).so
-CFLAGS =-fPIC \
+CFLAGS :=-fPIC \
-Wformat \
-Wextra \
-Wformat-security \
@@ -51,13 +51,8 @@ CFLAGS =-fPIC \
-DLINUX \
-DGST_DISABLE_GST_DEBUG \
-DGST_DISABLE_LOADSAVE \
- -ffunction-sections -fdata-sections
-
-ifeq ($(BUILD_TYPE), Release)
- CFLAGS += -Os
-else
- CFLAGS += -g -Wall
-endif
+ -ffunction-sections -fdata-sections \
+ ${CFLAGS}
INCLUDES = -I$(BASE_DIR)/plugins \
-I$(SRCBASE_DIR)/projects/build/linux/common \
@@ -75,9 +70,10 @@ INCLUDES = -I$(BASE_DIR)/plugins \
PACKAGES_INCLUDES := $(shell pkg-config --cflags alsa glib-2.0)
PACKAGES_LIBS := $(shell pkg-config --libs alsa glib-2.0 gobject-2.0 gmodule-2.0 gthread-2.0)
-LDFLAGS = -L$(BUILD_DIR) -lm $(PACKAGES_LIBS) \
+LDFLAGS := -L$(BUILD_DIR) -lm $(PACKAGES_LIBS) \
-z relro \
- -static-libgcc -static-libstdc++ -Wl,--gc-sections
+ -static-libgcc -static-libstdc++ -Wl,--gc-sections \
+ ${LDFLAGS}
ifeq ($(ARCH), x32)
CFLAGS += -m32
diff --git a/modules/javafx.media/src/main/native/jfxmedia/projects/linux/Makefile b/modules/javafx.media/src/main/native/jfxmedia/projects/linux/Makefile
index ecbd859f..5881cf53 100644
--- a/modules/javafx.media/src/main/native/jfxmedia/projects/linux/Makefile
+++ b/modules/javafx.media/src/main/native/jfxmedia/projects/linux/Makefile
@@ -17,7 +17,7 @@ DIRLIST = jni \
TARGET = $(BUILD_DIR)/lib$(BASE_NAME).so
-CFLAGS = -DTARGET_OS_LINUX=1 \
+CFLAGS := -DTARGET_OS_LINUX=1 \
-D_GNU_SOURCE \
-DGST_REMOVE_DEPRECATED \
-DGST_DISABLE_GST_DEBUG \
@@ -26,7 +26,8 @@ CFLAGS = -DTARGET_OS_LINUX=1 \
-DHAVE_CONFIG_H \
-DJFXMEDIA_JNI_EXPORTS \
-DLINUX \
- -ffunction-sections -fdata-sections
+ -ffunction-sections -fdata-sections \
+ ${CFLAGS}
CPPFLAGS = -fno-rtti -ffunction-sections -fdata-sections
@@ -56,21 +57,16 @@ ifdef HOST_COMPILE
-I$(GSTREAMER_LITE_DIR)/gstreamer/libs \
$(PACKAGES_INCLUDES)
- LDFLAGS = -Wl,-rpath,\$$ORIGIN -L$(BUILD_DIR) -lgstreamer-lite $(PACKAGES_LIBS) \
+ LDFLAGS := -Wl,-rpath,\$$ORIGIN -L$(BUILD_DIR) -lgstreamer-lite $(PACKAGES_LIBS) \
-z relro \
- -static-libgcc -static-libstdc++ -Wl,--gc-sections
+ -static-libgcc -static-libstdc++ -Wl,--gc-sections \
+ ${LDFLAGS}
else
CFLAGS += $(EXTRA_CFLAGS)
INCLUDES = $(BASE_INCLUDES)
LDFLAGS = -Wl,-rpath,\$$ORIGIN -L$(BUILD_DIR) $(EXTRA_LDFLAGS)
endif
-ifeq ($(BUILD_TYPE), Release)
- CFLAGS += -Os
-else
- CFLAGS += -g -Wall -D_DEBUG
-endif
-
ifeq ($(ARCH), x32)
CFLAGS += -m32
LDFLAGS += -m32
--
2.21.0