git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] Introduce Git.pm (v3)

From
Junio C Hamano <junkio@cox.net>
Date
Jun 24, 2006, 01:01 UTC
Message-ID
<7vejxf74e3.fsf@assigned-by-dhcp.cox.net>
In-Reply-To
<20060623123904.GL21864@pasky.or.cz>
Petr Baudis <pasky@suse.cz> writes:
Show 6 quoted lines
>> By the way, you also need to adjust the testsuite so that it
>> finds the Perl modules from freshly built tree before
>> installing.  I think (but haven't checked yet) the stuff written
>> in Python does that already, so you might want to mimic it.
>
> It should be enough to -I../perl/blib/lib -I../perl/blib/arch/auto/Git.

-- >8 -- [PATCH] Perl interface: add build-time configuration to allow building with -fPIC

On x86-64 it seems that Git.xs does not link without compiling the main git objects with -fPIC.

Signed-off-by: Junio C Hamano <junkio@cox.net>
---
 * Also I moved explanation of MOZILLA_SHA1 closer to other SHA1
   choices.
 Makefile |   20 +++++++++++++-------
 1 files changed, 13 insertions(+), 7 deletions(-)
diff --git a/Makefile b/Makefile
index 7842195..c42521e 100644
--- a/Makefile
+++ b/Makefile
@@ -1,11 +1,6 @@
 # The default target of this Makefile is...
 all:
 
-# Define MOZILLA_SHA1 environment variable when running make to make use of
-# a bundled SHA1 routine coming from Mozilla. It is GPL'd and should be fast
-# on non-x86 architectures (e.g. PowerPC), while the OpenSSL version (default
-# choice) has very fast version optimized for i586.
-#
 # Define NO_OPENSSL environment variable if you do not have OpenSSL.
 # This also implies MOZILLA_SHA1.
 #
@@ -37,6 +32,14 @@ #
 # Define ARM_SHA1 environment variable when running make to make use of
 # a bundled SHA1 routine optimized for ARM.
 #
+# Define MOZILLA_SHA1 environment variable when running make to make use of
+# a bundled SHA1 routine coming from Mozilla. It is GPL'd and should be fast
+# on non-x86 architectures (e.g. PowerPC), while the OpenSSL version (default
+# choice) has very fast version optimized for i586.
+#
+# Define USE_PIC if you need the main git objects to be built with -fPIC
+# in order to build and link perl/Git.so.  x86-64 seems to need this.
+#
 # Define NEEDS_SSL_WITH_CRYPTO if you need -lcrypto with -lssl (Darwin).
 #
 # Define NEEDS_LIBICONV if linking with libc is not enough (Darwin).
@@ -63,13 +66,13 @@ #
 # Define COLLISION_CHECK below if you believe that SHA1's
 # 1461501637330902918203684832716283019655932542976 hashes do not give you
 # sufficient guarantee that no collisions between objects will ever happen.
-
+#
 # Define USE_NSEC below if you want git to care about sub-second file mtimes
 # and ctimes. Note that you need recent glibc (at least 2.2.4) for this, and
 # it will BREAK YOUR LOCAL DIFFS! show-diff and anything using it will likely
 # randomly break unless your underlying filesystem supports those sub-second
 # times (my ext3 doesn't).
-
+#
 # Define USE_STDEV below if you want git to care about the underlying device
 # change being considered an inode change from the update-cache perspective.
 
@@ -450,6 +453,9 @@ else
 endif
 endif
 endif
+ifdef USE_PIC
+	ALL_CFLAGS += -fPIC
+endif
 ifdef NO_ACCURATE_DIFF
 	ALL_CFLAGS += -DNO_ACCURATE_DIFF
 endif
-- 
1.4.1.rc1.gf2641
Previous: Junio C HamanoNext: Junio C Hamano
Message 15 of 20 in “Introduce Git.pm (v3)”
  1. Introduce Git.pm (v3)Petr Baudis, Jun 22, 2006
  2. Junio C HamanoJun 22, 2006
  3. Petr BaudisJun 22, 2006
  4. Junio C HamanoJun 23, 2006
  5. Petr BaudisJun 23, 2006
  6. Junio C HamanoJun 23, 2006
  7. Jakub NarebskiJun 23, 2006
  8. Nguyễn Thái Ngọc DuyJun 23, 2006
  9. Petr BaudisJun 23, 2006
  10. Jakub NarebskiJun 26, 2006
  11. Junio C HamanoJun 23, 2006
  12. Eric W. BiedermanJun 23, 2006
  13. Petr BaudisJun 23, 2006
  14. Junio C HamanoJun 24, 2006
  15. Junio C HamanoJun 24, 2006
  16. Junio C HamanoJun 24, 2006
  17. Johannes SchindelinJun 24, 2006
  18. Junio C HamanoJun 25, 2006
  19. Johannes SchindelinJun 25, 2006
  20. Junio C HamanoJun 24, 2006

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.