This is the mail archive of the cygwin mailing list for the Cygwin project.
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
| Other format: | [Raw text] | |
2008/6/20 Brian Dessent: > Reini Urban wrote: > >> Some attribute causes the linker to refuse to build the dll and wants >> to build an exe. > > That's because you used -Wl,-shared where you should have used -shared. > When you use -Wl the driver treats the argument as an opaque value that > is simply passed to the linker without interpretation. In this case it > means the driver is unaware that you're trying to create a shared > library and instead passes to the linker the startup object and > corresponding options for creating a program. [Bang on the head] Stupid me. Thanks, that compiles fine. Unfortunately it doesn't work yet. The testsuite works with 4 failures. But installed it doesn't work at all so far. I'll try it upstream now. They wanted a shared lib for a long time for some perl and python libs. I just did a simple make and installation improvement. -- Reini Urban http://phpwiki.org/ http://murbreak.at/
Attachment:
git-1.5.6-2-check.log
Description: Binary data
diff -urN -x CYGWIN-PATCHES -x 'aclocal.m4*' -x autom4te.cache -x config.cache -x config.log -x config.status -x config.h -x config.h.in -x ABOUT-NLS -x Makefile.in.in -x Makevars.template -x '*SlackBuild*' -x '*.egg-info' -x '*.class' -x '*.pyc' -x '*.mo' -x '*.gmo' -x '*.orig' -x '*.rej' -x '*.spec' -x '*.temp' -x '*~' -x '*.stackdump' -x COPYING -x INSTALL -x compile -x config-ml.in -x config.guess -x config.sub -x depcomp -x elisp-comp -x install-sh -x libtool.m4 -x ltoptions.m4 -x ltsugar.m4 -x ltversion.m4 -x 'lt~obsolete.m4' -x ltmain.sh -x mdate-sh -x missing -x mkinstalldirs -x py-compile -x symlink-tree -x texinfo.tex -x ylwrap -x config.rpath -x configure -x omf.make -x xmldocs.make -x gnome-doc-utils.make -x gnome-doc-utils.m4 -x intltool.m4 -x intltool-extract -x intltool-extract.in -x intltool-merge -x intltool-merge.in -x intltool-update -x intltool-update.in -x -x -x GIT-VERSION-FILE origsrc/git-1.5.6/Documentation/Makefile src/git-1.5.6/Documentation/Makefile
--- origsrc/git-1.5.6/Documentation/Makefile 2008-06-19 00:49:49.000000000 +0200
+++ src/git-1.5.6/Documentation/Makefile 2008-06-21 11:03:50.984375000 +0200
@@ -57,7 +57,7 @@
-include ../config.mak
ifdef ASCIIDOC8
-ASCIIDOC_EXTRA += -a asciidoc7compatible
+ASCIIDOC_EXTRA += -a asciidoc7compatible --unsafe
endif
ifdef DOCBOOK_XSL_172
ASCIIDOC_EXTRA += -a docbook-xsl-172
@@ -163,7 +163,7 @@
mv $@+ $@
user-manual.xml: user-manual.txt user-manual.conf
- $(ASCIIDOC) -b docbook -d book $<
+ $(ASCIIDOC) $(ASCIIDOC_EXTRA) -b docbook -d book $<
technical/api-index.txt: technical/api-index-skel.txt \
technical/api-index.sh $(patsubst %,%.txt,$(API_DOCS))
diff -urN -x CYGWIN-PATCHES -x 'aclocal.m4*' -x autom4te.cache -x config.cache -x config.log -x config.status -x config.h -x config.h.in -x ABOUT-NLS -x Makefile.in.in -x Makevars.template -x '*SlackBuild*' -x '*.egg-info' -x '*.class' -x '*.pyc' -x '*.mo' -x '*.gmo' -x '*.orig' -x '*.rej' -x '*.spec' -x '*.temp' -x '*~' -x '*.stackdump' -x COPYING -x INSTALL -x compile -x config-ml.in -x config.guess -x config.sub -x depcomp -x elisp-comp -x install-sh -x libtool.m4 -x ltoptions.m4 -x ltsugar.m4 -x ltversion.m4 -x 'lt~obsolete.m4' -x ltmain.sh -x mdate-sh -x missing -x mkinstalldirs -x py-compile -x symlink-tree -x texinfo.tex -x ylwrap -x config.rpath -x configure -x omf.make -x xmldocs.make -x gnome-doc-utils.make -x gnome-doc-utils.m4 -x intltool.m4 -x intltool-extract -x intltool-extract.in -x intltool-merge -x intltool-merge.in -x intltool-update -x intltool-update.in -x -x -x GIT-VERSION-FILE origsrc/git-1.5.6/Makefile src/git-1.5.6/Makefile
--- origsrc/git-1.5.6/Makefile 2008-06-19 00:49:49.000000000 +0200
+++ src/git-1.5.6/Makefile 2008-06-21 11:12:30.562500000 +0200
@@ -211,12 +211,12 @@
AR = ar
RM = rm -f
TAR = tar
+LN = ln
FIND = find
INSTALL = install
RPMBUILD = rpmbuild
TCL_PATH = tclsh
TCLTK_PATH = wish
-
export TCL_PATH TCLTK_PATH
# sparse is architecture-neutral, which means that we need to tell it
@@ -639,20 +639,20 @@
endif
ifeq ($(uname_O),Cygwin)
NO_D_TYPE_IN_DIRENT = YesPlease
- NO_D_INO_IN_DIRENT = YesPlease
NO_STRCASESTR = YesPlease
NO_MEMMEM = YesPlease
- NO_SYMLINK_HEAD = YesPlease
NEEDS_LIBICONV = YesPlease
NO_FAST_WORKING_DIRECTORY = UnfortunatelyYes
- NO_TRUSTABLE_FILEMODE = UnfortunatelyYes
OLD_ICONV = UnfortunatelyYes
# There are conflicting reports about this.
# On some boxes NO_MMAP is needed, and not so elsewhere.
# Try commenting this out if you suspect MMAP is more efficient
- NO_MMAP = YesPlease
+# NO_MMAP = YesPlease
NO_IPV6 = YesPlease
X = .exe
+ LIB_FILE=cyggit.dll
+ ALL_LDFLAGS += -Wl,--enable-auto-import
+ LN = ln -s
endif
ifeq ($(uname_S),FreeBSD)
NEEDS_LIBICONV = YesPlease
@@ -1040,7 +1040,7 @@
'-DGIT_INFO_PATH="$(infodir_SQ)"' $<
$(BUILT_INS): git$X
- $(QUIET_BUILT_IN)$(RM) $@ && ln git$X $@
+ $(QUIET_BUILT_IN)$(RM) $@ && $(LN) git$X $@
common-cmds.h: ./generate-cmdlist.sh command-list.txt
@@ -1060,8 +1060,10 @@
$(patsubst %.perl,%,$(SCRIPT_PERL)): perl/perl.mak
+all::perl/perl.mak
+
perl/perl.mak: GIT-CFLAGS perl/Makefile perl/Makefile.PL
- $(QUIET_SUBDIR0)perl $(QUIET_SUBDIR1) PERL_PATH='$(PERL_PATH_SQ)' prefix='$(prefix_SQ)' $(@F)
+ $(QUIET_SUBDIR0)perl $(QUIET_SUBDIR1) PERL_PATH='$(PERL_PATH_SQ)' prefix='$(prefix_SQ)' INSTALLDIRS=vendor $(@F)
$(patsubst %.perl,%,$(SCRIPT_PERL)): % : %.perl
$(QUIET_GEN)$(RM) $@ $@+ && \
@@ -1169,8 +1171,17 @@
$(patsubst git-%$X,%.o,$(PROGRAMS)): $(LIB_H) $(wildcard */*.h)
builtin-revert.o wt-status.o: wt-status.h
+ifneq (,$(findstring .dll,$(LIB_FILE)))
+$(LIB_FILE): $(LIB_OBJS) builtin-fetch-pack.o builtin-send-pack.o $(XDIFF_LIB)
+ $(QUIET_CC)$(RM) git-dll.o && $(CC) -DSHARED_LIBOBJ -DGIT_VERSION='"$(GIT_VERSION)"' \
+ $(ALL_CFLAGS) -o git-dll.o -c git.c
+ $(QUIET_LINK)$(RM) $@ && $(CC) -shared -Wl,--export-all-symbols \
+ -o $@ $(ALL_LDFLAGS) git-dll.o $(LIB_OBJS) builtin-fetch-pack.o builtin-send-pack.o \
+ $(filter-out $(LIB_FILE),$(LIBS)) $(CURL_LIBCURL) $(EXPAT_LIBEXPAT)
+else
$(LIB_FILE): $(LIB_OBJS)
$(QUIET_AR)$(RM) $@ && $(AR) rcs $@ $(LIB_OBJS)
+endif
XDIFF_OBJS=xdiff/xdiffi.o xdiff/xprepare.o xdiff/xutils.o xdiff/xemit.o \
xdiff/xmerge.o
@@ -1277,12 +1288,12 @@
endif
if test 'z$(bindir_SQ)' != 'z$(gitexecdir_SQ)'; \
then \
- ln -f '$(DESTDIR_SQ)$(bindir_SQ)/git$X' \
+ $(LN) -f '$(DESTDIR_SQ)$(bindir_SQ)/git$X' \
'$(DESTDIR_SQ)$(gitexecdir_SQ)/git$X' || \
cp '$(DESTDIR_SQ)$(bindir_SQ)/git$X' \
'$(DESTDIR_SQ)$(gitexecdir_SQ)/git$X'; \
fi
- $(foreach p,$(BUILT_INS), $(RM) '$(DESTDIR_SQ)$(gitexecdir_SQ)/$p' && ln '$(DESTDIR_SQ)$(gitexecdir_SQ)/git$X' '$(DESTDIR_SQ)$(gitexecdir_SQ)/$p' ;)
+ $(foreach p,$(BUILT_INS), $(RM) '$(DESTDIR_SQ)$(gitexecdir_SQ)/$p' && $(LN) '$(DESTDIR_SQ)$(gitexecdir_SQ)/git$X' '$(DESTDIR_SQ)$(gitexecdir_SQ)/$p' ;)
ifneq (,$X)
$(foreach p,$(patsubst %$X,%,$(filter %$X,$(ALL_PROGRAMS) $(BUILT_INS) git$X)), $(RM) '$(DESTDIR_SQ)$(gitexecdir_SQ)/$p';)
endif
diff -urN -x CYGWIN-PATCHES -x 'aclocal.m4*' -x autom4te.cache -x config.cache -x config.log -x config.status -x config.h -x config.h.in -x ABOUT-NLS -x Makefile.in.in -x Makevars.template -x '*SlackBuild*' -x '*.egg-info' -x '*.class' -x '*.pyc' -x '*.mo' -x '*.gmo' -x '*.orig' -x '*.rej' -x '*.spec' -x '*.temp' -x '*~' -x '*.stackdump' -x COPYING -x INSTALL -x compile -x config-ml.in -x config.guess -x config.sub -x depcomp -x elisp-comp -x install-sh -x libtool.m4 -x ltoptions.m4 -x ltsugar.m4 -x ltversion.m4 -x 'lt~obsolete.m4' -x ltmain.sh -x mdate-sh -x missing -x mkinstalldirs -x py-compile -x symlink-tree -x texinfo.tex -x ylwrap -x config.rpath -x configure -x omf.make -x xmldocs.make -x gnome-doc-utils.make -x gnome-doc-utils.m4 -x intltool.m4 -x intltool-extract -x intltool-extract.in -x intltool-merge -x intltool-merge.in -x intltool-update -x intltool-update.in -x -x -x GIT-VERSION-FILE origsrc/git-1.5.6/git.c src/git-1.5.6/git.c
--- origsrc/git-1.5.6/git.c 2008-06-19 00:49:49.000000000 +0200
+++ src/git-1.5.6/git.c 2008-06-21 11:10:48.953125000 +0200
@@ -384,6 +384,7 @@
}
}
+#ifndef SHARED_LIBOBJ
int main(int argc, const char **argv)
{
const char *cmd = argv[0] ? argv[0] : "git-help";
@@ -474,3 +475,4 @@
return 1;
}
+#endif
diff -urN origsrc/git-1.5.6/CYGWIN-PATCHES/git.README src/git-1.5.6/CYGWIN-PATCHES/git.README --- origsrc/git-1.5.6/CYGWIN-PATCHES/git.README 1970-01-01 01:00:00.000000000 +0100 +++ src/git-1.5.6/CYGWIN-PATCHES/git.README 2008-06-21 11:03:50.000000000 +0200 @@ -0,0 +1,138 @@ +git 1.5.6-1 +------------------------------------------ +Git is popular version control system designed to handle very large +projects with speed and efficiency; it is used mainly for various open +source projects, most notably the Linux kernel. + +Git falls in the category of distributed source code management tools, +similar to e.g. GNU Arch or Monotone (or BitKeeper in the proprietary +world). Every Git working directory is a full-fledged repository with +full revision tracking capabilities, not dependent on network access +or a central server. + +Runtime requirements (these or newer): + bash-3.2.39-19 + cpio-2.9-1 + cvsps-2.1-1 + cygwin-1.5.25-15 + libcurl3-7.15.4-2 + libexpat1-2.0.1-1 + libiconv2-1.11-1 + openssl-0.9.8h-1 + perl-5.8.8-4 + zlib-1.2.3-2 + +Runtime recommendations (these or newer): + less-382-1 + openssh-5.0p1-1 + patch-2.5.8-9 + perl-Error-0.17010-1 + python-2.5.1-2 + rsync-2.6.9-2 + tcltk-20080420-1 + +Additional build conditions (these or newer): + asciidoc-8.2.6-1 + binutils-20080523-1 + curl-devel-7.16.3-1 + cygport-0.3.9-1 + gcc-3.4.4-3 + libexpat1-devel-2.0.1-1 + libiconv-1.11-1 + openssl-devel-0.9.8h-1 + +Canonical homepage: + http://git.or.cz/ + +Canonical download: + http://kernel.org/pub/software/scm/git/ + +License: + GPLv2 + +Language: + C, bash, perl, tcl/tk + +------------------------------------ + +Build instructions: + unpack git-1.5.6-1-src.tar.bz2 + if you use setup to install this src package, it will be + unpacked under /usr/src automatically + cd /usr/src + cygport git-1.5.6-1 all + +This will create: + /usr/src/git-1.5.6-1.tar.bz2 + /usr/src/git-1.5.6-1-src.tar.bz2 + +Or use 'cygport git-1.5.6-1 prep' to get a patched source directory + +To find out the files included in the binary distribution, you can use +"cygcheck -l git", or browse the listing for the appropriate +version at <http://cygwin.com/packages/>. + +------------------ + +Port Notes: + +----- version 1.5.6-2 -- 2008-06-20 ----- +Patch from Reini Urban to use a cyggit.dll +and symlink the builtin hardlinked git*.exe files. +Space reduction. + +----- version 1.5.6-1 -- 2008-06-19 ----- +New upstream version. + +----- version 1.5.5.1-1 -- 2008-04-23 ----- +New upstream version. + +----- version 1.5.5-1 -- 2008-04-08 ----- +New upstream version. + +----- version 1.5.4-1 -- 2008-02-04 ----- +New upstream version. + +----- version 1.5.3.8-1 -- 2008-01-10 ----- +New upstream version. + +----- version 1.5.3.5-1 -- 2007-11-16 ----- +New upstream version. + +----- version 1.5.3.2-1 -- 2007-09-22 ----- +New upstream version. + +----- version 1.5.3-1 -- 2007-09-03 ----- +New upstream version. + +----- version 1.5.2.2-1 -- 2007-06-23 ----- +New upstream version. + +----- version 1.5.1.3-1 -- 2007-05-02 ----- +New upstream version. + +----- version 1.5.0.3-1 -- 2007-03-09 ----- +New upstream version. + +----- version 1.4.4.4-1 -- 2007-01-08 ----- +New upstream version. + +----- version 1.4.4.3-1 -- 2006-12-20 ----- +New upstream version. + +----- version 1.4.4.1-3 -- 2006-11-29 ----- +Really fix perl pod packaging bug. + +----- version 1.4.4.1-2 -- 2006-11-28 ----- +Build documentation, too. Fix perl pod packaging bug. + +----- version 1.4.4.1-1 -- 2006-11-25 ----- +Initial cygwin package. + +------------------------- + +For more information about this package, see the upstream documentation in +/usr/share/doc/git-1.5.6/. + +Cygwin port maintained by: Eric Blake <ebb9@byu.net> +Please address all questions to the Cygwin mailing list at <cygwin@cygwin.com> diff -urN origsrc/git-1.5.6/CYGWIN-PATCHES/postinstall.sh src/git-1.5.6/CYGWIN-PATCHES/postinstall.sh --- origsrc/git-1.5.6/CYGWIN-PATCHES/postinstall.sh 1970-01-01 01:00:00.000000000 +0100 +++ src/git-1.5.6/CYGWIN-PATCHES/postinstall.sh 2008-06-21 11:03:50.187500000 +0200 @@ -0,0 +1,6 @@ +#!/bin/sh +# Postinstall script for git + +# setup.exe doesn't know how to preserve permissions, but git's normal +# hooks are not intended to be installed with x permissions. +chmod a-x /usr/share/git-core/templates/hooks/* diff -urN origsrc/git-1.5.6/CYGWIN-PATCHES/setup.hint src/git-1.5.6/CYGWIN-PATCHES/setup.hint --- origsrc/git-1.5.6/CYGWIN-PATCHES/setup.hint 1970-01-01 01:00:00.000000000 +0100 +++ src/git-1.5.6/CYGWIN-PATCHES/setup.hint 2008-06-21 11:03:50.203125000 +0200 @@ -0,0 +1,13 @@ +# setup for git +sdesc: "Fast Version Control System" +ldesc: "Git is popular version control system designed to handle very +large projects with speed and efficiency; it is used mainly for +various open source projects, most notably the Linux kernel. Git falls +in the category of distributed source code management tools, similar +to e.g. GNU Arch or Monotone (or BitKeeper in the proprietary +world). Every Git working directory is a full-fledged repository with +full revision tracking capabilities, not dependent on network access +or a central server." +category: Devel +requires: bash cpio cvsps cygwin libcurl3 libexpat1 libiconv2 openssl perl perl-Error zlib +#maintainer: Eric Blake
-- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |