Merge pull request #5714 from alexischr/update_bockbuild
[mono.git] / support / Makefile.am
index e56d1a1b69c5e401ff353e190b16c41b26284631..969ff60e4db002c8b5abe4f7360b1b48a6add11b 100644 (file)
@@ -1,4 +1,4 @@
-if PLATFORM_WIN32
+if HOST_WIN32
 SUPPORT=
 else
 SUPPORT=libMonoSupportW.la
@@ -7,7 +7,7 @@ lib_LTLIBRARIES =                               \
        libMonoPosixHelper.la                   \
        $(SUPPORT)
 
-INCLUDES =                                     \
+AM_CPPFLAGS =                                  \
        $(GLIB_CFLAGS)                          \
        -I$(top_srcdir)
 
@@ -21,8 +21,7 @@ MPH_C_SOURCE =                                        \
        signal.c                                \
        stdio.c                                 \
        string.c                                        \
-       stdlib.c                                \
-       map-icalls.h
+       stdlib.c
 
 # Source code which helps implement POSIX and other related Unix standards,
 # and *may* be portable between Unix platforms.
@@ -32,15 +31,21 @@ MPH_UNIX_SOURCE =                           \
        fstab.c                                 \
        grp.c                                   \
        macros.c                                \
+       nl.c                                    \
+       nl.h                                    \
        old-map.c                               \
        old-map.h                               \
        pwd.c                                   \
        serial.c                                \
        sys-mman.c                              \
        sys-sendfile.c                          \
+       sys-socket.c                            \
        sys-stat.c                              \
        sys-statvfs.c                           \
        sys-time.c                              \
+       sys-uio.c                               \
+       sys-uio.h                               \
+       sys-utsname.c   \
        sys-wait.c                              \
        sys-xattr.c                             \
        syslog.c                                \
@@ -49,25 +54,58 @@ MPH_UNIX_SOURCE =                           \
        utime.c                                 \
        x-struct-str.c
 
-if PLATFORM_WIN32
+if HOST_WIN32
 MPH_SOURCE = $(MPH_C_SOURCE)
-MPH_LIBS   =
+MPH_LIBS   = $(GLIB_LIBS) $(LIBICONV)
 else
 MPH_SOURCE = $(MPH_C_SOURCE) $(MPH_UNIX_SOURCE)
-MPH_LIBS   = $(GLIB_LIBS)
+MPH_LIBS   = $(GLIB_LIBS) $(LIBICONV)
 endif
 
+MINIZIP_SOURCE = \
+       minizip/crypt.h \
+       minizip/ioapi.c \
+       minizip/ioapi.h \
+       minizip/unzip.c \
+       minizip/unzip.h \
+       minizip/zip.c   \
+       minizip/zip.h
+
+ZLIB_SOURCES = \
+       adler32.c       \
+       compress.c      \
+       crc32.c         \
+       uncompr.c       \
+       deflate.c       \
+       trees.c         \
+       zutil.c         \
+       inflate.c       \
+       infback.c       \
+       inftrees.c      \
+       inffast.c       \
+       crc32.h         \
+       deflate.h       \
+       inffast.h       \
+       inffixed.h      \
+       inflate.h       \
+       inftrees.h      \
+       trees.h         \
+       zconf.h         \
+       zlib.h          \
+       zutil.h
+
 if HAVE_ZLIB
-Z_SOURCE = zlib_macros.c
-Z_LIBS   = -lz
+Z_SOURCE = zlib-helper.c
+Z_LIBS= -lz
 else
-Z_SOURCE = 
-Z_LIBS   = 
+Z_SOURCE = zlib-helper.c $(ZLIB_SOURCES)
+Z_LIBS=
 endif
 
 libMonoPosixHelper_la_SOURCES =                        \
        $(MPH_SOURCE)                           \
-       $(Z_SOURCE)
+       $(Z_SOURCE)                             \
+       $(MINIZIP_SOURCE)
 
 libMonoPosixHelper_la_LIBADD =                 \
        $(MPH_LIBS)                             \
@@ -84,11 +122,55 @@ libMonoSupportW_la_SOURCES =                       \
                supportw.h
 
 libMonoSupportW_la_LIBADD =                    \
-               $(GLIB_LIBS)
+               $(GLIB_LIBS) $(LIBICONV)
 
 # 
 # Use this target to refresh the values in map.[ch]
 #
 refresh:
-       $(top_builddir)/runtime/mono-wrapper $(mcs_topdir)/class/Mono.Posix/Mono.Unix.Native/make-map.exe $(mcs_topdir)/class/lib/default/Mono.Posix.dll map
+       cp `pkg-config --variable=Programs create-native-map` . && \
+       $(top_builddir)/runtime/mono-wrapper create-native-map.exe \
+       --autoconf-member=d_off                               \
+       --autoconf-member=d_reclen                            \
+       --autoconf-member=d_type                              \
+       --exclude-native-symbol=Mono_Posix_Stdlib_snprintf    \
+       --impl-macro=_GNU_SOURCE --impl-macro=_XOPEN_SOURCE   \
+       --impl-header="<sys/types.h>"                         \
+       --impl-header="<sys/stat.h>"                          \
+       --autoconf-header="<netinet/in.h>"                    \
+       --autoconf-header="<sys/time.h>"                      \
+       --autoconf-header="<sys/poll.h>"                      \
+       --autoconf-header="<sys/wait.h>"                      \
+       --autoconf-header="<sys/statvfs.h>"                   \
+       --autoconf-header="<sys/xattr.h>"                     \
+       --autoconf-header="<sys/mman.h>"                      \
+       --autoconf-header="<sys/socket.h>"                    \
+       --autoconf-header="<sys/uio.h>"                       \
+       --autoconf-header="<unistd.h>"                        \
+       --impl-header="<fcntl.h>"                             \
+       --impl-header="<signal.h>"                            \
+       --autoconf-header="<poll.h>"                          \
+       --autoconf-header="<grp.h>"                           \
+       --impl-header="<errno.h>"                             \
+       --autoconf-header="<syslog.h>"                        \
+       --autoconf-header="<dirent.h>"                        \
+       --autoconf-header="<utime.h>"                         \
+       --impl-header="<time.h>"                              \
+       --impl-header="\"mph.h\""                             \
+       --rename-member=st_atime=st_atime_                    \
+       --rename-member=st_ctime=st_ctime_                    \
+       --rename-member=st_mtime=st_mtime_                    \
+       --rename-namespace=Mono.Unix.Native=Mono.Posix        \
+       --library=MonoPosixHelper                             \
+       $(mcs_topdir_from_srcdir)/class/lib/net_4_x/Mono.Posix.dll map
 
+# Useful if mono is compiled with --enable-shared=no
+patch-libtool:
+       cp "../libtool" .
+       sed -e 's,build_libtool_libs=no,build_libtool_libs=yes,g' libtool > 2; mv 2 libtool
+       echo "LIBTOOL = bash ./libtool" > 1
+       echo "LTCOMPILE = bash ./libtool --mode=compile $(COMPILE)" >> 1
+       sed -e 's,LIBTOOL =,LIBTOOL2 =,g' Makefile > 2
+       sed -e 's,LTCOMPILE =,LTCOMPILE2 =,g' 2 > 3
+       cat 1 3 > Makefile
+       touch *.c