From f6b0fd7b792933fb601470bf70f2f4285712f449 Mon Sep 17 00:00:00 2001 From: Werner Lemberg Date: Wed, 2 Dec 2020 07:08:24 +0100 Subject: [PATCH] Improve setup for 'dlg' library. * autogen.sh (copy_submodule_file), builds/toplevel.mk: Redirect stderr to `/dev/null`. * builds/toplevel.mk: Move code block to handle 'dlg' stuff into `check_platform` conditional. Also fix wildcard expressions for guarding `git submodule` commands. Also make file copying work with non-Unix platforms (untested). --- ChangeLog | 12 ++++++++++++ autogen.sh | 2 +- builds/toplevel.mk | 37 ++++++++++++++++++++----------------- 3 files changed, 33 insertions(+), 18 deletions(-) diff --git a/ChangeLog b/ChangeLog index a4231f40b..3f17cf0c6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,15 @@ +2020-12-02 Werner Lemberg + + Improve setup for 'dlg' library. + + * autogen.sh (copy_submodule_file), builds/toplevel.mk: Redirect + stderr to `/dev/null`. + + * builds/toplevel.mk: Move code block to handle 'dlg' stuff into + `check_platform` conditional. + Also fix wildcard expressions for guarding `git submodule` commands. + Also make file copying work with non-Unix platforms (untested). + 2020-12-01 Werner Lemberg [build] Use gcc (and clang) in C99 mode. diff --git a/autogen.sh b/autogen.sh index 560804088..fd5fa1f93 100755 --- a/autogen.sh +++ b/autogen.sh @@ -166,7 +166,7 @@ chmod +x ./configure copy_submodule_files () { echo "Copying files from \`submodules/dlg' to \`src/dlg'" - mkdir src/dlg/dlg + mkdir src/dlg/dlg 2> /dev/null cp $DLG_INC_DIR/dlg.h src/dlg/dlg cp $DLG_INC_DIR/output.h src/dlg/dlg cp $DLG_SRC_DIR/* src/dlg diff --git a/builds/toplevel.mk b/builds/toplevel.mk index c08c9f4e7..8379bebe3 100644 --- a/builds/toplevel.mk +++ b/builds/toplevel.mk @@ -103,23 +103,6 @@ ifneq ($(findstring setup,$(MAKECMDGOALS)),) check_platform := 1 endif -# For builds directly from the git repository we need to copy files -# from `submodule/dlg' to `src/dlg'. -# -ifeq ($(wildcard src/dlg/dlg.*),) - ifeq ($(wildcard submodules/dlg/dlg.*),) - $(info Checking out submodule in `submodules/dlg') - $(shell git submodule init) - $(shell git submodule update) - endif - - $(info Copying files from `submodules/dlg' to `src/dlg') - $(shell mkdir src/dlg/dlg) - $(shell cp submodules/dlg/include/dlg/dlg.h src/dlg/dlg) - $(shell cp submodules/dlg/include/dlg/output.h src/dlg/dlg) - $(shell cp submodules/dlg/src/dlg/dlg.c src/dlg/) -endif - # Include the automatic host platform detection rules when we need to # check the platform. # @@ -129,6 +112,26 @@ ifdef check_platform include $(TOP_DIR)/builds/detect.mk + # For builds directly from the git repository we need to copy files + # from `submodule/dlg' to `src/dlg'. + # + ifeq ($(wildcard src/dlg/dlg.*),) + ifeq ($(wildcard submodules/dlg/*),) + $(info Checking out submodule in `submodules/dlg') + $(shell git submodule init) + $(shell git submodule update) + endif + + $(info Copying files from `submodules/dlg' to `src/dlg') + $(shell mkdir $(subst /,$(SEP),src/dlg/dlg) $(NO_OUTPUT)) + $(shell $(COPY) \ + $(subst /,$(SEP),submodules/dlg/include/dlg/dlg.h src/dlg/dlg)) + $(shell $(COPY) \ + $(subst /,$(SEP),submodules/dlg/include/dlg/output.h src/dlg/dlg)) + $(shell $(COPY) \ + $(subst /,$(SEP),submodules/dlg/src/dlg/dlg.c src/dlg)) + endif + # This rule makes sense for Unix only to remove files created by a run of # the configure script which hasn't been successful (so that no # `config.mk' has been created). It uses the built-in $(RM) command of