I attempted to compile Xalan using msys/mingw on XP. The build failed because
msys implements symlinks differently: usually the target is specified
relative to the link, but with msys the target is specified relative to the
working directory. It seems that msys has to copy the file since Windows
doesn't support real symbolic links (from memory cygwin does the same
thing).

I hacked a couple of Makefiles & it built O.K. My hacks should be
conditional on the build platform being Windows - a mingw cross-compile
would use the ordinary symlink semantics.

>From src/xalanc/Utils/XalanMsgLib:

--- Makefile.in.orig    Tue Mar 31 21:17:59 2009
+++ Makefile.in Tue Mar 31 21:23:23 2009
@@ -34,14 +34,12 @@
 $(MESSAGELIB) : ${XSL_OBJ_DIR}/XalanMsgLib.o 
        $(MAKE_SHARED_LOC) $(EXTRA_LOC_LINK_OPTIONS) $^ -o $@
 ifneq ($(PLATFORM), OS390)
-       rm -f $(XSL_LIB_DIR)/$(LOC_LIBNAME)$(SHLIBSUFFIX) && \
-               $(LN) -fs $(LOC_LIB)
$(XSL_LIB_DIR)/$(LOC_LIBNAME)$(SHLIBSUFFIX)
+       $(LN) -fs $(XSL_LIB_DIR)/$(LOC_LIB)
$(XSL_LIB_DIR)/$(LOC_LIBNAME)$(SHLIBSUFFIX)
 ifeq ($(PLATFORM), AIX)
        $(LN) -fs $(LOC_LIB)
$(XSL_LIB_DIR)/$(LOC_LIBNAME)$(LIB_MAJOR_VER)$(SHLIBSUFFIX)
 else
-       rm -f $(XSL_LIB_DIR)/$(LOC_LIBNAME)$(SHLIBSUFFIX).$(LIB_MAJOR_VER)
&& \
-               $(LN) -fs $(LOC_LIB) \
-                
$(XSL_LIB_DIR)/$(LOC_LIBNAME)$(SHLIBSUFFIX).$(LIB_MAJOR_VER)
+       $(LN) -fs $(XSL_LIB_DIR)/$(LOC_LIB) \
+         $(XSL_LIB_DIR)/$(LOC_LIBNAME)$(SHLIBSUFFIX).$(LIB_MAJOR_VER)
 endif ## AIX
 
 endif ## ! OS390

>From src/xalanc/Utils/XalanMsgLib:

--- Makefile.in.orig    Tue Mar 31 21:34:09 2009
+++ Makefile.in Tue Mar 31 21:40:31 2009
@@ -236,10 +236,8 @@
 ifeq ($(PLATFORM), OS390)
        mv *.x  ${XSL_LIB_DIR}        
 else
-       rm -f $(XSL_LIB_DIR)/$(LINK_NAME) && \
-               $(LN) -fs $(LIB) $(XSL_LIB_DIR)/$(LINK_NAME)
-       rm -f $(XSL_LIB_DIR)/$(SO_NAME) && \
-               $(LN) -fs $(LIB) $(XSL_LIB_DIR)/$(SO_NAME)
+       $(LN) -fs $(XSL_LIB_DIR)/$(LIB) $(XSL_LIB_DIR)/$(LINK_NAME)
+       $(LN) -fs $(XSL_LIB_DIR)/$(LIB) $(XSL_LIB_DIR)/$(SO_NAME)
 endif ## OS390                                
 endif ## OS390BATCH
 
-- 
View this message in context: 
http://www.nabble.com/Compiling-xalan-C%2B%2B1.10---xerces-2.8.0-with-mingw-tp19946057p22800575.html
Sent from the Xalan - C - Users mailing list archive at Nabble.com.

Reply via email to