File 6571-Add-dependencies-to-inets.patch of Package erlang

From 6b0837639970bdf3c1c85e340a5fd750a2f4c3f9 Mon Sep 17 00:00:00 2001
From: Simon Cornish <7t9jna402@sneakemail.com>
Date: Thu, 21 Nov 2024 17:35:46 -0800
Subject: [PATCH] Add dependencies to inets

---
 lib/inets/src/.gitignore           |  1 +
 lib/inets/src/http_client/Makefile | 28 ++++++++++++++++++++++++++-
 lib/inets/src/http_lib/Makefile    | 29 +++++++++++++++++++++++++++-
 lib/inets/src/http_server/Makefile | 31 +++++++++++++++++++++++++++++-
 lib/inets/src/inets_app/Makefile   | 31 +++++++++++++++++++++++++++++-
 5 files changed, 116 insertions(+), 4 deletions(-)
 create mode 100644 lib/inets/src/.gitignore

diff --git a/lib/inets/src/.gitignore b/lib/inets/src/.gitignore
new file mode 100644
index 0000000000..dd60386e38
--- /dev/null
+++ b/lib/inets/src/.gitignore
@@ -0,0 +1 @@
+**/deps/
diff --git a/lib/inets/src/http_client/Makefile b/lib/inets/src/http_client/Makefile
index 62f62792f0..eddac6dcd9 100644
--- a/lib/inets/src/http_client/Makefile
+++ b/lib/inets/src/http_client/Makefile
@@ -58,6 +58,17 @@ ERL_FILES = $(MODULES:%=%.erl)
 
 TARGET_FILES= $(MODULES:%=$(EBIN)/%.$(EMULATOR)) 
 
+DEPDIR=deps
+DEP_FILE=$(DEPDIR)/http_client.d
+$(shell mkdir -p $(dir $(DEP_FILE)) >/dev/null)
+
+ifeq ($(TARGET), win32)
+  # Native path without C: ignore driveletter case
+  ERL_TOP_NATIVE = $(shell w32_path.sh -m $(ERL_TOP) | sed "s@[a-zA-Z]:@:@")
+else
+  ERL_TOP_NATIVE = $(ERL_TOP)
+endif
+
 
 # ----------------------------------------------------
 # FLAGS
@@ -77,11 +88,14 @@ ERL_COMPILE_FLAGS += \
 # Targets
 # ----------------------------------------------------
 
-$(TYPES): $(TARGET_FILES)
+$(TYPES): $(TARGET_FILES) $(DEP_FILE)
+
+deps: $(DEP_FILE)
 
 clean:
 	rm -f $(TARGET_FILES)
 	rm -f core
+	rm -rf $(DEPDIR)
 
 docs:
 
@@ -104,5 +118,17 @@ info:
 	@echo "INETS_FLAGS       = $(INETS_FLAGS)"
 	@echo "ERL_COMPILE_FLAGS = $(ERL_COMPILE_FLAGS)"
 
+$(DEP_FILE): $(ERL_FILES)
+	@echo SED $(TARGET) $(ERL_TOP_NATIVE)
+	$(gen_verbose)erlc -M $(ERL_FILES) \
+	| perl -pe "s@ [a-zA-Z]?$(ERL_TOP_NATIVE)/(?:bootstrap/)?lib/([^/]+)@ ../../../\1@g" 2> /dev/null \
+	| sed "s/\.$(EMULATOR)/\.$$\(EMULATOR\)/" \
+	| sed 's@^httpc@$$(EBIN)/httpc@' \
+	> $(DEP_FILE)
 
 
+# ----------------------------------------------------
+# Dependencies
+# ----------------------------------------------------
+-include $(DEP_FILE)
+
diff --git a/lib/inets/src/http_lib/Makefile b/lib/inets/src/http_lib/Makefile
index 481c4f66eb..d766b67280 100644
--- a/lib/inets/src/http_lib/Makefile
+++ b/lib/inets/src/http_lib/Makefile
@@ -55,6 +55,17 @@ ERL_FILES = $(MODULES:%=%.erl)
 
 TARGET_FILES= $(MODULES:%=$(EBIN)/%.$(EMULATOR)) 
 
+DEPDIR=deps
+DEP_FILE=$(DEPDIR)/http_lib.d
+$(shell mkdir -p $(dir $(DEP_FILE)) >/dev/null)
+
+ifeq ($(TARGET), win32)
+  # Native path without C: ignore driveletter case
+  ERL_TOP_NATIVE = $(shell w32_path.sh -m $(ERL_TOP) | sed "s@[a-zA-Z]:@:@")
+else
+  ERL_TOP_NATIVE = $(ERL_TOP)
+endif
+
 
 # ----------------------------------------------------
 # FLAGS
@@ -73,11 +84,14 @@ ERL_COMPILE_FLAGS += \
 # Targets
 # ----------------------------------------------------
 
-$(TYPES): $(TARGET_FILES)
+$(TYPES): $(TARGET_FILES) $(DEP_FILE)
+
+deps: $(DEP_FILE)
 
 clean:
 	rm -f $(TARGET_FILES)
 	rm -f core
+	rm -rf $(DEPDIR)
 
 docs:
 
@@ -101,4 +115,17 @@ info:
 	@echo "INETS_DEBUG       = $(INETS_DEBUG)"
 	@echo "INETS_FLAGS       = $(INETS_FLAGS)"
 	@echo "ERL_COMPILE_FLAGS = $(ERL_COMPILE_FLAGS)"
+$(DEP_FILE): $(ERL_FILES)
+	@echo SED $(TARGET) $(ERL_TOP_NATIVE)
+	$(gen_verbose)erlc -M $(ERL_FILES) \
+	| perl -pe "s@ [a-zA-Z]?$(ERL_TOP_NATIVE)/(?:bootstrap/)?lib/([^/]+)@ ../../../\1@g" 2> /dev/null \
+	| sed "s/\.$(EMULATOR)/\.$$\(EMULATOR\)/" \
+	| sed 's@^http_@$$(EBIN)/http_@' \
+	> $(DEP_FILE)
+
+
+# ----------------------------------------------------
+# Dependencies
+# ----------------------------------------------------
+-include $(DEP_FILE)
 
diff --git a/lib/inets/src/http_server/Makefile b/lib/inets/src/http_server/Makefile
index abf8413f33..d027106219 100644
--- a/lib/inets/src/http_server/Makefile
+++ b/lib/inets/src/http_server/Makefile
@@ -98,6 +98,17 @@ BEHAVIOUR_TARGET_FILES= $(BEHAVIOUR_MODULES:%=$(EBIN)/%.$(EMULATOR))
 
 INETS_FLAGS = -D'SERVER_SOFTWARE="$(APPLICATION)/$(VSN)"'
 
+DEPDIR=deps
+DEP_FILE=$(DEPDIR)/http_server.d
+$(shell mkdir -p $(dir $(DEP_FILE)) >/dev/null)
+
+ifeq ($(TARGET), win32)
+  # Native path without C: ignore driveletter case
+  ERL_TOP_NATIVE = $(shell w32_path.sh -m $(ERL_TOP) | sed "s@[a-zA-Z]:@:@")
+else
+  ERL_TOP_NATIVE = $(ERL_TOP)
+endif
+
 
 # ----------------------------------------------------
 # FLAGS
@@ -117,11 +128,14 @@ ERL_COMPILE_FLAGS += \
 # ----------------------------------------------------
 $(TARGET_FILES): $(BEHAVIOUR_TARGET_FILES)
 
-$(TYPES): $(TARGET_FILES)
+$(TYPES): $(TARGET_FILES) $(DEP_FILE)
+
+deps: $(DEP_FILE)
 
 clean:
 	rm -f $(TARGET_FILES) $(BEHAVIOUR_TARGET_FILES)
 	rm -f core
+	rm -rf $(DEPDIR)
 
 docs:
 
@@ -146,3 +160,18 @@ info:
 	@echo "INETS_FLAGS       = $(INETS_FLAGS)"
 	@echo "ERL_COMPILE_FLAGS = $(ERL_COMPILE_FLAGS)"
 
+$(DEP_FILE): $(ERL_FILES)
+	@echo SED $(TARGET) $(ERL_TOP_NATIVE)
+	$(gen_verbose)erlc -M $(ERL_FILES) \
+	| perl -pe "s@ [a-zA-Z]?$(ERL_TOP_NATIVE)/(?:bootstrap/)?lib/([^/]+)@ ../../../\1@g" 2> /dev/null \
+	| sed "s/\.$(EMULATOR)/\.$$\(EMULATOR\)/" \
+	| sed 's@^httpd@$$(EBIN)/httpd@' \
+	| sed 's@^mod_@$$(EBIN)/mod_@' \
+	> $(DEP_FILE)
+
+
+# ----------------------------------------------------
+# Dependencies
+# ----------------------------------------------------
+-include $(DEP_FILE)
+
diff --git a/lib/inets/src/inets_app/Makefile b/lib/inets/src/inets_app/Makefile
index 405e86105a..1ee2f9507d 100644
--- a/lib/inets/src/inets_app/Makefile
+++ b/lib/inets/src/inets_app/Makefile
@@ -70,6 +70,17 @@ APP_TARGET = $(EBIN)/$(APP_FILE)
 APPUP_SRC    = $(APPUP_FILE).src
 APPUP_TARGET = $(EBIN)/$(APPUP_FILE)
 
+DEPDIR=deps
+DEP_FILE=$(DEPDIR)/inets_app.d
+$(shell mkdir -p $(dir $(DEP_FILE)) >/dev/null)
+
+ifeq ($(TARGET), win32)
+  # Native path without C: ignore driveletter case
+  ERL_TOP_NATIVE = $(shell w32_path.sh -m $(ERL_TOP) | sed "s@[a-zA-Z]:@:@")
+else
+  ERL_TOP_NATIVE = $(ERL_TOP)
+endif
+
 
 # ----------------------------------------------------
 # FLAGS
@@ -86,11 +97,14 @@ ERL_COMPILE_FLAGS += \
 # Targets
 # ----------------------------------------------------
 
-$(TYPES): $(TARGET_FILES)
+$(TYPES): $(TARGET_FILES) $(DEP_FILE)
+
+deps: $(DEP_FILE)
 
 clean:
 	rm -f $(TARGET_FILES)
 	rm -f core
+	rm -rf $(DEPDIR)
 
 docs:
 
@@ -127,3 +141,18 @@ info:
 	@echo "INETS_DEBUG       = $(INETS_DEBUG)"
 	@echo "INETS_FLAGS       = $(INETS_FLAGS)"
 	@echo "ERL_COMPILE_FLAGS = $(ERL_COMPILE_FLAGS)"
+
+$(DEP_FILE): $(ERL_FILES)
+	@echo SED $(TARGET) $(ERL_TOP_NATIVE)
+	$(gen_verbose)erlc -M $(ERL_FILES) \
+	| perl -pe "s@ [a-zA-Z]?$(ERL_TOP_NATIVE)/(?:bootstrap/)?lib/([^/]+)@ ../../../\1@g" 2> /dev/null \
+	| sed "s/\.$(EMULATOR)/\.$$\(EMULATOR\)/" \
+	| sed 's@^inets@$$(EBIN)/inets@' \
+	> $(DEP_FILE)
+
+
+# ----------------------------------------------------
+# Dependencies
+# ----------------------------------------------------
+-include $(DEP_FILE)
+
-- 
2.43.0

openSUSE Build Service is sponsored by