For Cargo packaging purposes, it is better for any dependencies built with Git's Makefile to live outside the libgit-{sys,rs} crates. This, plus some future changes to the crates, will allow `cargo package` to treat all of the non-Rust source as a separate tree apart from the Cargo-managed inputs. Signed-off-by: Josh Steadmon <steadmon@xxxxxxxxxx> --- Makefile | 16 ++++++++-------- contrib/libgit-sys/build.rs | 4 ++-- .../public_symbol_export.c | 2 +- .../public_symbol_export.h | 0 4 files changed, 11 insertions(+), 11 deletions(-) rename contrib/{libgit-sys => libgitpub}/public_symbol_export.c (96%) rename contrib/{libgit-sys => libgitpub}/public_symbol_export.h (100%) diff --git a/Makefile b/Makefile index 7315507381..52eed88dde 100644 --- a/Makefile +++ b/Makefile @@ -2764,7 +2764,7 @@ OBJECTS += $(CLAR_TEST_OBJS) OBJECTS += $(patsubst %,$(UNIT_TEST_DIR)/%.o,$(UNIT_TEST_PROGRAMS)) ifdef INCLUDE_LIBGIT_RS - OBJECTS += contrib/libgit-sys/public_symbol_export.o + OBJECTS += contrib/libgitpub/public_symbol_export.o endif ifndef NO_CURL @@ -3762,9 +3762,9 @@ clean: profile-clean coverage-clean cocciclean $(MAKE) -C Documentation/ clean $(RM) Documentation/GIT-EXCLUDED-PROGRAMS $(RM) -r contrib/libgit-sys/target contrib/libgit-rs/target - $(RM) contrib/libgit-sys/partial_symbol_export.o - $(RM) contrib/libgit-sys/hidden_symbol_export.o - $(RM) contrib/libgit-sys/libgitpub.a + $(RM) contrib/libgitpub/partial_symbol_export.o + $(RM) contrib/libgitpub/hidden_symbol_export.o + $(RM) contrib/libgitpub/libgitpub.a ifndef NO_PERL $(RM) -r perl/build/ endif @@ -3937,14 +3937,14 @@ ifdef INCLUDE_LIBGIT_RS all:: libgit-sys libgit-rs endif -LIBGIT_PUB_OBJS += contrib/libgit-sys/public_symbol_export.o +LIBGIT_PUB_OBJS += contrib/libgitpub/public_symbol_export.o LIBGIT_PUB_OBJS += libgit.a LIBGIT_PUB_OBJS += reftable/libreftable.a LIBGIT_PUB_OBJS += xdiff/lib.a -LIBGIT_PARTIAL_EXPORT = contrib/libgit-sys/partial_symbol_export.o +LIBGIT_PARTIAL_EXPORT = contrib/libgitpub/partial_symbol_export.o -LIBGIT_HIDDEN_EXPORT = contrib/libgit-sys/hidden_symbol_export.o +LIBGIT_HIDDEN_EXPORT = contrib/libgitpub/hidden_symbol_export.o $(LIBGIT_PARTIAL_EXPORT): $(LIBGIT_PUB_OBJS) $(LD) -r $^ -o $@ @@ -3952,5 +3952,5 @@ $(LIBGIT_PARTIAL_EXPORT): $(LIBGIT_PUB_OBJS) $(LIBGIT_HIDDEN_EXPORT): $(LIBGIT_PARTIAL_EXPORT) $(OBJCOPY) --localize-hidden $^ $@ -contrib/libgit-sys/libgitpub.a: $(LIBGIT_HIDDEN_EXPORT) +contrib/libgitpub/libgitpub.a: $(LIBGIT_HIDDEN_EXPORT) $(AR) $(ARFLAGS) $@ $^ diff --git a/contrib/libgit-sys/build.rs b/contrib/libgit-sys/build.rs index 3ffd80ad91..e0d979c196 100644 --- a/contrib/libgit-sys/build.rs +++ b/contrib/libgit-sys/build.rs @@ -15,7 +15,7 @@ pub fn main() -> std::io::Result<()> { .current_dir(git_root.clone()) .args([ "INCLUDE_LIBGIT_RS=YesPlease", - "contrib/libgit-sys/libgitpub.a", + "contrib/libgitpub/libgitpub.a", ]) .output() .expect("Make failed to run"); @@ -26,7 +26,7 @@ pub fn main() -> std::io::Result<()> { String::from_utf8(make_output.stderr).unwrap() ); } - std::fs::copy(crate_root.join("libgitpub.a"), dst.join("libgitpub.a"))?; + std::fs::copy(git_root.join("contrib/libgitpub/libgitpub.a"), dst.join("libgitpub.a"))?; println!("cargo:rustc-link-search=native={}", dst.display()); println!("cargo:rustc-link-lib=gitpub"); println!("cargo:rerun-if-changed={}", git_root.display()); diff --git a/contrib/libgit-sys/public_symbol_export.c b/contrib/libgitpub/public_symbol_export.c similarity index 96% rename from contrib/libgit-sys/public_symbol_export.c rename to contrib/libgitpub/public_symbol_export.c index dfbb257115..de5f6943c2 100644 --- a/contrib/libgit-sys/public_symbol_export.c +++ b/contrib/libgitpub/public_symbol_export.c @@ -6,7 +6,7 @@ #include "git-compat-util.h" #include "config.h" -#include "contrib/libgit-sys/public_symbol_export.h" +#include "contrib/libgitpub/public_symbol_export.h" #include "version.h" #pragma GCC visibility push(default) diff --git a/contrib/libgit-sys/public_symbol_export.h b/contrib/libgitpub/public_symbol_export.h similarity index 100% rename from contrib/libgit-sys/public_symbol_export.h rename to contrib/libgitpub/public_symbol_export.h -- 2.49.0.395.g12beb8f557-goog