diff options
Diffstat (limited to 'project')
-rw-r--r-- | project/common.mk | 62 | ||||
-rw-r--r-- | project/config/cfgdefs.in | 0 | ||||
-rw-r--r-- | project/config/cfgdefs.sh | 66 | ||||
-rw-r--r-- | project/extras.mk | 46 | ||||
-rw-r--r-- | project/headers.mk | 15 | ||||
-rw-r--r-- | project/tagver.mk | 2 | ||||
-rw-r--r-- | project/tree.mk | 8 |
7 files changed, 193 insertions, 6 deletions
diff --git a/project/common.mk b/project/common.mk index 4893b49..d35b34f 100644 --- a/project/common.mk +++ b/project/common.mk @@ -1,34 +1,88 @@ API_SRCS = \ + src/arbits/slbt_archive_ctx.c \ + src/arbits/slbt_archive_dlsyms.c \ + src/arbits/slbt_archive_mapfile.c \ + src/arbits/slbt_archive_mapstrv.c \ + src/arbits/slbt_archive_merge.c \ + src/arbits/slbt_archive_meta.c \ + src/arbits/slbt_archive_store.c \ + src/arbits/slbt_archive_symfile.c \ + src/arbits/slbt_archive_syminfo.c \ + src/arbits/slbt_armap_bsd_32.c \ + src/arbits/slbt_armap_bsd_64.c \ + src/arbits/slbt_armap_sysv_32.c \ + src/arbits/slbt_armap_sysv_64.c \ + src/arbits/output/slbt_au_output_arname.c \ + src/arbits/output/slbt_au_output_dlsyms.c \ + src/arbits/output/slbt_au_output_mapfile.c \ + src/arbits/output/slbt_au_output_members.c \ + src/arbits/output/slbt_au_output_symbols.c \ src/driver/slbt_amain.c \ src/driver/slbt_driver_ctx.c \ - src/helper/slbt_archive_import.c \ - src/helper/slbt_copy_file.c \ - src/helper/slbt_dump_machine.c \ - src/helper/slbt_realpath.c \ + src/driver/slbt_link_params.c \ + src/driver/slbt_split_argv.c \ + src/driver/slbt_symlist_ctx.c \ + src/driver/slbt_txtfile_ctx.c \ + src/driver/slbt_version_info.c \ + src/host/slbt_host_flavor.c \ + src/host/slbt_host_params.c \ + src/util/slbt_archive_import.c \ + src/util/slbt_create_mapfile.c \ + src/util/slbt_create_symfile.c \ + src/util/slbt_copy_file.c \ + src/util/slbt_dump_machine.c \ + src/util/slbt_map_input.c \ + src/util/slbt_realpath.c \ + src/logic/slbt_exec_ar.c \ src/logic/slbt_exec_compile.c \ src/logic/slbt_exec_ctx.c \ src/logic/slbt_exec_execute.c \ src/logic/slbt_exec_install.c \ src/logic/slbt_exec_link.c \ + src/logic/slbt_exec_stoolie.c \ src/logic/slbt_exec_uninstall.c \ + src/logic/linkcmd/slbt_linkcmd_archive.c \ + src/logic/linkcmd/slbt_linkcmd_argv.c \ + src/logic/linkcmd/slbt_linkcmd_deps.c \ + src/logic/linkcmd/slbt_linkcmd_dsolib.c \ + src/logic/linkcmd/slbt_linkcmd_executable.c \ + src/logic/linkcmd/slbt_linkcmd_host.c \ + src/logic/linkcmd/slbt_linkcmd_implib.c \ src/output/slbt_output_config.c \ src/output/slbt_output_error.c \ src/output/slbt_output_exec.c \ src/output/slbt_output_fdcwd.c \ src/output/slbt_output_features.c \ + src/output/slbt_output_info.c \ src/output/slbt_output_machine.c \ + src/output/slbt_output_mapfile.c \ + src/skin/slbt_skin_ar.c \ src/skin/slbt_skin_default.c \ src/skin/slbt_skin_install.c \ + src/skin/slbt_skin_stoolie.c \ src/skin/slbt_skin_uninstall.c \ + src/stoolie/slbt_stoolie_ctx.c \ + +FALLBACK_SRCS = \ + src/fallback/slbt_archive_import_mri.c \ INTERNAL_SRCS = \ + src/internal/$(PACKAGE)_coff_impl.c \ src/internal/$(PACKAGE)_dprintf_impl.c \ src/internal/$(PACKAGE)_errinfo_impl.c \ src/internal/$(PACKAGE)_lconf_impl.c \ src/internal/$(PACKAGE)_libmeta_impl.c \ + src/internal/$(PACKAGE)_m4fake_impl.c \ src/internal/$(PACKAGE)_mapfile_impl.c \ + src/internal/$(PACKAGE)_mkvars_impl.c \ + src/internal/$(PACKAGE)_objlist_impl.c \ src/internal/$(PACKAGE)_objmeta_impl.c \ + src/internal/$(PACKAGE)_pecoff_impl.c \ + src/internal/$(PACKAGE)_realpath_impl.c \ + src/internal/$(PACKAGE)_snprintf_impl.c \ src/internal/$(PACKAGE)_symlink_impl.c \ + src/internal/$(PACKAGE)_tmpfile_impl.c \ + src/internal/$(PACKAGE)_txtline_impl.c \ APP_SRCS = \ src/slibtool.c diff --git a/project/config/cfgdefs.in b/project/config/cfgdefs.in new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/project/config/cfgdefs.in diff --git a/project/config/cfgdefs.sh b/project/config/cfgdefs.sh new file mode 100644 index 0000000..0d851ea --- /dev/null +++ b/project/config/cfgdefs.sh @@ -0,0 +1,66 @@ +# in projects where [ $mb_use_custom_cfgdefs = yes ], +# cfgdefs.sh is invoked from within ./configure via +# . $mb_project_dir/project/cfgdefs.sh + +# a successful return from cfgdefs.sh will be followed +# by a second invocation of the config_copy() function, +# reflecting any changes to common config variables +# made by cfgdefs.sh. + +# finally, cfgdefs.sh may update the contents of the +# config-time generated cfgdefs.mk. + + +# sofort's config test framework +. "$mb_project_dir/sofort/cfgtest/cfgtest.sh" + + +for arg ; do + case "$arg" in + *) + error_msg ${arg#}: "unsupported config argument." + exit 2 + esac +done + + +cfgdefs_output_custom_defs() +{ + cat "$mb_project_dir/project/config/cfgdefs.in" > cfgdefs.mk +} + + +cfgdefs_perform_common_tests() +{ + # headers + cfgtest_header_presence 'sys/syscall.h' +} + + +cfgdefs_perform_target_tests() +{ + # init + cfgtest_newline + cfgtest_host_section + + # common tests + cfgdefs_perform_common_tests + + # pretty cfgdefs.mk + cfgtest_newline +} + +# cfgdefs.in --> cfgdefs.mk +cfgdefs_output_custom_defs + +# strict: some tests might fail +set +e + +# target-specific tests +cfgdefs_perform_target_tests + +# strict: restore mode +set -e + +# all done +return 0 diff --git a/project/extras.mk b/project/extras.mk index 6765339..ba3ff0f 100644 --- a/project/extras.mk +++ b/project/extras.mk @@ -3,65 +3,111 @@ CFLAGS_STATIC_ATTR += -DSLBT_PRE_ALPHA -DSLBT_STATIC CFLAGS_APP_ATTR += -DSLBT_APP CFLAGS_MACHINE := -DSLBT_MACHINE=\"$(CC_HOST)\" +CFLAGS_PKGDATA := -DSLBT_PACKAGE_DATADIR=\"$(DESTDIR)$(DATADIR)/$(PACKAGE)\" CFLAGS_CONFIG += $(CFLAGS_MACHINE) +CFLAGS_CONFIG += $(CFLAGS_PKGDATA) +CFLAGS_CONFIG += $(CFLAGS_ATTR_VISIBILITY_HIDDEN) src/driver/slbt_driver_ctx.o: version.tag src/driver/slbt_driver_ctx.lo: version.tag DBGNAME = dlibtool LEGABITS = clibtool +LEGADBGS = dclibtool RAPUNZEL = rlibtool RAPUNCEL = rclibtool RAPUNDEL = rdlibtool RAPUNJEL = rdclibtool +STOOLIE = slibtoolize + +install-app-extras: install-slibtoolize install-app-extras: mkdir -p $(DESTDIR)$(BINDIR) rm -f bin/$(NICKNAME)-shared$(OS_APP_SUFFIX).tmp rm -f bin/$(NICKNAME)-static$(OS_APP_SUFFIX).tmp + rm -f bin/$(NICKNAME)-ar$(OS_APP_SUFFIX).tmp rm -f bin/$(DBGNAME)$(OS_APP_SUFFIX).tmp rm -f bin/$(DBGNAME)-shared$(OS_APP_SUFFIX).tmp rm -f bin/$(DBGNAME)-static$(OS_APP_SUFFIX).tmp + rm -f bin/$(DBGNAME)-ar$(OS_APP_SUFFIX).tmp rm -f bin/$(LEGABITS)$(OS_APP_SUFFIX).tmp rm -f bin/$(LEGABITS)-shared$(OS_APP_SUFFIX).tmp rm -f bin/$(LEGABITS)-static$(OS_APP_SUFFIX).tmp + rm -f bin/$(LEGABITS)-ar$(OS_APP_SUFFIX).tmp + + rm -f bin/$(LEGADBGS)$(OS_APP_SUFFIX).tmp + rm -f bin/$(LEGADBGS)-shared$(OS_APP_SUFFIX).tmp + rm -f bin/$(LEGADBGS)-static$(OS_APP_SUFFIX).tmp + rm -f bin/$(LEGADBGS)-ar$(OS_APP_SUFFIX).tmp rm -f bin/$(RAPUNZEL)$(OS_APP_SUFFIX).tmp rm -f bin/$(RAPUNCEL)$(OS_APP_SUFFIX).tmp rm -f bin/$(RAPUNDEL)$(OS_APP_SUFFIX).tmp rm -f bin/$(RAPUNJEL)$(OS_APP_SUFFIX).tmp + rm -f bin/$(STOOLIE)$(OS_APP_SUFFIX).tmp + ln -s ./$(NICKNAME)$(OS_APP_SUFFIX) bin/$(NICKNAME)-shared$(OS_APP_SUFFIX).tmp ln -s ./$(NICKNAME)$(OS_APP_SUFFIX) bin/$(NICKNAME)-static$(OS_APP_SUFFIX).tmp + ln -s ./$(NICKNAME)$(OS_APP_SUFFIX) bin/$(NICKNAME)-ar$(OS_APP_SUFFIX).tmp ln -s ./$(NICKNAME)$(OS_APP_SUFFIX) bin/$(DBGNAME)$(OS_APP_SUFFIX).tmp ln -s ./$(NICKNAME)$(OS_APP_SUFFIX) bin/$(DBGNAME)-shared$(OS_APP_SUFFIX).tmp ln -s ./$(NICKNAME)$(OS_APP_SUFFIX) bin/$(DBGNAME)-static$(OS_APP_SUFFIX).tmp + ln -s ./$(NICKNAME)$(OS_APP_SUFFIX) bin/$(DBGNAME)-ar$(OS_APP_SUFFIX).tmp ln -s ./$(NICKNAME)$(OS_APP_SUFFIX) bin/$(LEGABITS)$(OS_APP_SUFFIX).tmp ln -s ./$(NICKNAME)$(OS_APP_SUFFIX) bin/$(LEGABITS)-shared$(OS_APP_SUFFIX).tmp ln -s ./$(NICKNAME)$(OS_APP_SUFFIX) bin/$(LEGABITS)-static$(OS_APP_SUFFIX).tmp + ln -s ./$(NICKNAME)$(OS_APP_SUFFIX) bin/$(LEGABITS)-ar$(OS_APP_SUFFIX).tmp + + ln -s ./$(NICKNAME)$(OS_APP_SUFFIX) bin/$(LEGADBGS)$(OS_APP_SUFFIX).tmp + ln -s ./$(NICKNAME)$(OS_APP_SUFFIX) bin/$(LEGADBGS)-shared$(OS_APP_SUFFIX).tmp + ln -s ./$(NICKNAME)$(OS_APP_SUFFIX) bin/$(LEGADBGS)-static$(OS_APP_SUFFIX).tmp + ln -s ./$(NICKNAME)$(OS_APP_SUFFIX) bin/$(LEGADBGS)-ar$(OS_APP_SUFFIX).tmp ln -s ./$(NICKNAME)$(OS_APP_SUFFIX) bin/$(RAPUNZEL)$(OS_APP_SUFFIX).tmp ln -s ./$(NICKNAME)$(OS_APP_SUFFIX) bin/$(RAPUNCEL)$(OS_APP_SUFFIX).tmp ln -s ./$(NICKNAME)$(OS_APP_SUFFIX) bin/$(RAPUNDEL)$(OS_APP_SUFFIX).tmp ln -s ./$(NICKNAME)$(OS_APP_SUFFIX) bin/$(RAPUNJEL)$(OS_APP_SUFFIX).tmp + ln -s ./$(NICKNAME)$(OS_APP_SUFFIX) bin/$(STOOLIE)$(OS_APP_SUFFIX).tmp + mv bin/$(NICKNAME)-shared$(OS_APP_SUFFIX).tmp $(DESTDIR)$(BINDIR)/$(NICKNAME)-shared$(OS_APP_SUFFIX) mv bin/$(NICKNAME)-static$(OS_APP_SUFFIX).tmp $(DESTDIR)$(BINDIR)/$(NICKNAME)-static$(OS_APP_SUFFIX) + mv bin/$(NICKNAME)-ar$(OS_APP_SUFFIX).tmp $(DESTDIR)$(BINDIR)/$(NICKNAME)-ar$(OS_APP_SUFFIX) mv bin/$(DBGNAME)$(OS_APP_SUFFIX).tmp $(DESTDIR)$(BINDIR)/$(DBGNAME)$(OS_APP_SUFFIX) mv bin/$(DBGNAME)-shared$(OS_APP_SUFFIX).tmp $(DESTDIR)$(BINDIR)/$(DBGNAME)-shared$(OS_APP_SUFFIX) mv bin/$(DBGNAME)-static$(OS_APP_SUFFIX).tmp $(DESTDIR)$(BINDIR)/$(DBGNAME)-static$(OS_APP_SUFFIX) + mv bin/$(DBGNAME)-ar$(OS_APP_SUFFIX).tmp $(DESTDIR)$(BINDIR)/$(DBGNAME)-ar$(OS_APP_SUFFIX) mv bin/$(LEGABITS)$(OS_APP_SUFFIX).tmp $(DESTDIR)$(BINDIR)/$(LEGABITS)$(OS_APP_SUFFIX) mv bin/$(LEGABITS)-shared$(OS_APP_SUFFIX).tmp $(DESTDIR)$(BINDIR)/$(LEGABITS)-shared$(OS_APP_SUFFIX) mv bin/$(LEGABITS)-static$(OS_APP_SUFFIX).tmp $(DESTDIR)$(BINDIR)/$(LEGABITS)-static$(OS_APP_SUFFIX) + mv bin/$(LEGABITS)-ar$(OS_APP_SUFFIX).tmp $(DESTDIR)$(BINDIR)/$(LEGABITS)-ar$(OS_APP_SUFFIX) + + mv bin/$(LEGADBGS)$(OS_APP_SUFFIX).tmp $(DESTDIR)$(BINDIR)/$(LEGADBGS)$(OS_APP_SUFFIX) + mv bin/$(LEGADBGS)-shared$(OS_APP_SUFFIX).tmp $(DESTDIR)$(BINDIR)/$(LEGADBGS)-shared$(OS_APP_SUFFIX) + mv bin/$(LEGADBGS)-static$(OS_APP_SUFFIX).tmp $(DESTDIR)$(BINDIR)/$(LEGADBGS)-static$(OS_APP_SUFFIX) + mv bin/$(LEGADBGS)-ar$(OS_APP_SUFFIX).tmp $(DESTDIR)$(BINDIR)/$(LEGADBGS)-ar$(OS_APP_SUFFIX) mv bin/$(RAPUNZEL)$(OS_APP_SUFFIX).tmp $(DESTDIR)$(BINDIR)/$(RAPUNZEL)$(OS_APP_SUFFIX) mv bin/$(RAPUNCEL)$(OS_APP_SUFFIX).tmp $(DESTDIR)$(BINDIR)/$(RAPUNCEL)$(OS_APP_SUFFIX) mv bin/$(RAPUNDEL)$(OS_APP_SUFFIX).tmp $(DESTDIR)$(BINDIR)/$(RAPUNDEL)$(OS_APP_SUFFIX) mv bin/$(RAPUNJEL)$(OS_APP_SUFFIX).tmp $(DESTDIR)$(BINDIR)/$(RAPUNJEL)$(OS_APP_SUFFIX) + + mv bin/$(STOOLIE)$(OS_APP_SUFFIX).tmp $(DESTDIR)$(BINDIR)/$(STOOLIE)$(OS_APP_SUFFIX) + +install-slibtoolize: + mkdir -p $(DESTDIR)$(DATADIR)/$(PACKAGE) + + cp -p $(SOURCE_DIR)/m4/slibtool.m4 $(DESTDIR)$(DATADIR)/$(PACKAGE) + cp -p $(SOURCE_DIR)/aux/ltmain.sh $(DESTDIR)$(DATADIR)/$(PACKAGE) + cp -p $(SOURCE_DIR)/aux/slibtool.sh $(DESTDIR)$(DATADIR)/$(PACKAGE) + +.PHONY: install-slibtoolize diff --git a/project/headers.mk b/project/headers.mk index 62b6f52..56c0a6a 100644 --- a/project/headers.mk +++ b/project/headers.mk @@ -1,20 +1,35 @@ API_HEADERS = \ $(PROJECT_DIR)/include/$(PACKAGE)/slibtool.h \ $(PROJECT_DIR)/include/$(PACKAGE)/slibtool_api.h \ + $(PROJECT_DIR)/include/$(PACKAGE)/slibtool_arbits.h \ + $(PROJECT_DIR)/include/$(PACKAGE)/slibtool_output.h \ INTERNAL_HEADERS = \ $(PROJECT_DIR)/src/internal/argv/argv.h \ + $(PROJECT_DIR)/src/internal/$(PACKAGE)_ar_impl.h \ + $(PROJECT_DIR)/src/internal/$(PACKAGE)_coff_impl.h \ $(PROJECT_DIR)/src/internal/$(PACKAGE)_dprintf_impl.h \ $(PROJECT_DIR)/src/internal/$(PACKAGE)_driver_impl.h \ $(PROJECT_DIR)/src/internal/$(PACKAGE)_errinfo_impl.h \ $(PROJECT_DIR)/src/internal/$(PACKAGE)_install_impl.h \ $(PROJECT_DIR)/src/internal/$(PACKAGE)_lconf_impl.h \ + $(PROJECT_DIR)/src/internal/$(PACKAGE)_linkcmd_impl.h \ + $(PROJECT_DIR)/src/internal/$(PACKAGE)_m4fake_impl.h \ $(PROJECT_DIR)/src/internal/$(PACKAGE)_mapfile_impl.h \ $(PROJECT_DIR)/src/internal/$(PACKAGE)_metafile_impl.h \ $(PROJECT_DIR)/src/internal/$(PACKAGE)_mkdir_impl.h \ + $(PROJECT_DIR)/src/internal/$(PACKAGE)_mkvars_impl.h \ + $(PROJECT_DIR)/src/internal/$(PACKAGE)_objlist_impl.h \ + $(PROJECT_DIR)/src/internal/$(PACKAGE)_pecoff_impl.h \ $(PROJECT_DIR)/src/internal/$(PACKAGE)_readlink_impl.h \ + $(PROJECT_DIR)/src/internal/$(PACKAGE)_realpath_impl.h \ + $(PROJECT_DIR)/src/internal/$(PACKAGE)_snprintf_impl.h \ $(PROJECT_DIR)/src/internal/$(PACKAGE)_spawn_impl.h \ + $(PROJECT_DIR)/src/internal/$(PACKAGE)_stoolie_impl.h \ $(PROJECT_DIR)/src/internal/$(PACKAGE)_symlink_impl.h \ + $(PROJECT_DIR)/src/internal/$(PACKAGE)_tmpfile_impl.h \ + $(PROJECT_DIR)/src/internal/$(PACKAGE)_txtline_impl.h \ $(PROJECT_DIR)/src/internal/$(PACKAGE)_uninstall_impl.h \ + $(PROJECT_DIR)/src/internal/$(PACKAGE)_visibility_impl.h \ ALL_HEADERS = $(API_HEADERS) $(INTERNAL_HEADERS) diff --git a/project/tagver.mk b/project/tagver.mk index 6b79598..2595fde 100644 --- a/project/tagver.mk +++ b/project/tagver.mk @@ -2,4 +2,4 @@ VER_NAMESPACE = SLBT VER_MAJOR = 0 VER_MINOR = 5 -VER_PATCH = 34 +VER_PATCH = 36 diff --git a/project/tree.mk b/project/tree.mk index 42564b8..f855e82 100644 --- a/project/tree.mk +++ b/project/tree.mk @@ -1,9 +1,15 @@ tree.tag: mkdir -p src + mkdir -p src/arbits mkdir -p src/driver - mkdir -p src/helper + mkdir -p src/fallback + mkdir -p src/host + mkdir -p src/util mkdir -p src/internal mkdir -p src/logic mkdir -p src/output mkdir -p src/skin + mkdir -p src/stoolie + mkdir -p src/arbits/output + mkdir -p src/logic/linkcmd touch tree.tag |