diff --git a/macosx/Makefile b/macosx/Makefile
index d0455cba7..aaf347c32 100644
--- a/macosx/Makefile
+++ b/macosx/Makefile
@@ -3,8 +3,7 @@
NMAP_VERSION := $(shell grep '^\#[ \t]*define[ \t]\+NMAP_VERSION' ../nmap.h | sed -e 's/.*"\(.*\)".*/\1/' -e 'q')
NMAP_NUM_VERSION := $(shell grep '^\#[ \t]*define[ \t]\+NMAP_NUM_VERSION' ../nmap.h | sed -e 's/.*"\(.*\)".*/\1/' -e 'q')
-OSX_VERSION=$(shell sw_vers -productVersion | cut -d'.' -f1,2 | tr -d ' ')
-OSX_MIN_VERSION = 10.8
+OSX_MIN_VERSION = 10.9
NAME_VERSION = nmap-$(NMAP_VERSION)$(if $(APPENDAGE),-$(APPENDAGE))
@@ -14,22 +13,22 @@ PKG_NAME = $(NAME_VERSION).mpkg
IMAGE_STAGING_DIR = $(NAME_VERSION)
NMAP_BUILD_DIR = nmap-build
-NMAP_STAGING_DIR = Nmap
+NMAP_STAGING_DIR = nmap-root
ZENMAP_BUILD_DIR = zenmap-build
-ZENMAP_STAGING_DIR = Zenmap
+ZENMAP_STAGING_DIR = zenmap-root
NCAT_BUILD_DIR = ncat-build
-NCAT_STAGING_DIR = Ncat
+NCAT_STAGING_DIR = ncat-root
NDIFF_BUILD_DIR = ndiff-build
-NDIFF_STAGING_DIR = Ndiff
+NDIFF_STAGING_DIR = ndiff-root
NPING_BUILD_DIR = nping-build
-NPING_STAGING_DIR = Nping
+NPING_STAGING_DIR = nping-root
NMAP_UPDATE_BUILD_DIR = nmap-update-build
-NMAP_UPDATE_STAGING_DIR = nmap-update
+NMAP_UPDATE_STAGING_DIR = nmap-update-root
JHBUILD_PREFIX=$(HOME)/gtk/inst
export JHBUILD_PREFIX
@@ -55,7 +54,7 @@ UNIVERSAL_CXX = g++
# ("fat" or "universal") or a single one ("i386" or "ppc"). py2app in
# turn uses the arch value to decide which of its bootstrappers to
# install.
-UNIVERSAL_ARCHFLAGS = -arch i386
+UNIVERSAL_ARCHFLAGS = -arch x86_64
UNIVERSAL_CPPFLAGS = -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX$(OSX_VERSION).sdk
UNIVERSAL_CFLAGS = $(UNIVERSAL_CPPFLAGS) -mmacosx-version-min=$(OSX_MIN_VERSION) $(UNIVERSAL_ARCHFLAGS)
UNIVERSAL_CXXFLAGS = $(UNIVERSAL_CFLAGS)
@@ -165,31 +164,18 @@ $(IMAGE_STAGING_DIR)/$(PKG_NAME): check-nmap check-ncat check-ndiff check-zenmap
rm -rf distribution.xml finalDist.xml nmap.pkg ncat.pkg ndiff.pkg nping.pkg nmap-update.pkg zenmap.pkg
check-%: stage-%
- if (find $* -perm -a+x -type f | xargs otool -L | grep -F "$(JHBUILD_PREFIX)"); then false; else echo "Libs are clean"; fi
+ if (find $*-root -perm -a+x -type f | xargs otool -L | grep -F "$(JHBUILD_PREFIX)"); then false; else echo "Libs are clean"; fi
export-%:
rm -rf $*
# Using @BASE discards local changes.
svn export .. $*
-stage-nmap: export-$(NMAP_BUILD_DIR)
- cd $(NMAP_BUILD_DIR) && ./configure --without-zenmap --without-ncat --without-ndiff --without-nping --without-nmap-update --with-openssl="$(JHBUILD_PREFIX)" --with-libz="$(JHBUILD_PREFIX)" $(CONFIGURE_ARGS)
- # LIB* is libssh2's name for *_LIBS
- make -C $(NMAP_BUILD_DIR) OPENSSL_LIBS="$(OPENSSL_STATIC)" LIBSSL="$(OPENSSL_STATIC)" ZLIB_LIBS="$(LIBZ_STATIC)" LIBZ="$(LIBZ_STATIC)"
- rm -rf $(NMAP_STAGING_DIR)
- make -C $(NMAP_BUILD_DIR) install DESTDIR="`pwd`/$(NMAP_STAGING_DIR)" OPENSSL_LIBS="$(OPENSSL_STATIC)" ZLIB_LIBS="$(LIBZ_STATIC)"
-
-stage-ncat: export-$(NCAT_BUILD_DIR)
- cd $(NCAT_BUILD_DIR) && ./configure --without-zenmap --with-ncat --without-ndiff --without-nping --without-nmap-update --with-openssl="$(JHBUILD_PREFIX)" $(CONFIGURE_ARGS)
- make -C $(NCAT_BUILD_DIR) build-ncat OPENSSL_LIBS="$(OPENSSL_STATIC)"
- rm -rf $(NCAT_STAGING_DIR)
- make -C $(NCAT_BUILD_DIR) install-ncat DESTDIR="`pwd`/$(NCAT_STAGING_DIR)" OPENSSL_LIBS="$(OPENSSL_STATIC)"
-
-stage-nping: export-$(NPING_BUILD_DIR)
- cd $(NPING_BUILD_DIR) && ./configure --without-zenmap --without-ncat --without-ndiff --with-nping --without-nmap-update --with-openssl="$(JHBUILD_PREFIX)" $(CONFIGURE_ARGS)
- make -C $(NPING_BUILD_DIR) build-nping OPENSSL_LIBS="$(OPENSSL_STATIC)"
- rm -rf $(NPING_STAGING_DIR)
- make -C $(NPING_BUILD_DIR) install-nping DESTDIR="`pwd`/$(NPING_STAGING_DIR)" OPENSSL_LIBS="$(OPENSSL_STATIC)"
+export-tarball:
+ rm -rf nmap-$(NMAP_VERSION)
+ svn export .. nmap-$(NMAP_VERSION)
+ tar czf nmap-$(NMAP_VERSION).tar.gz nmap-$(NMAP_VERSION)
+ cp nmap-$(NMAP_VERSION).tar.gz $(JHBUILD_SOURCE)/pkgs/
stage-nmap-update: export-$(NMAP_UPDATE_BUILD_DIR)
cd $(NMAP_UPDATE_BUILD_DIR) && ./configure --without-zenmap --without-ncat --without-ndiff --without-nping --with-nmap-update --with-apr=$(JHBUILD_PREFIX) --with-subversion=$(JHBUILD_PREFIX) --with-serf=$(JHBUILD_PREFIX) --with-openssl=$(JHBUILD_PREFIX) $(CONFIGURE_ARGS)
@@ -197,8 +183,11 @@ stage-nmap-update: export-$(NMAP_UPDATE_BUILD_DIR)
rm -rf $(NMAP_UPDATE_STAGING_DIR)
make -C $(NMAP_UPDATE_BUILD_DIR) install-nmap-update DESTDIR="`pwd`/$(NMAP_UPDATE_STAGING_DIR)" APR_LIBS="$(APR_STATIC)" SVN_LIBS="$(SVN_STATIC)" OPENSSL_LIBS="$(OPENSSL_STATIC)" MAC_FLAGS="$(MAC_FLAGS)"
-# make-bundle.sh uses these to build its authorization wrapper.
-export CC ARCHFLAGS CPPFLAGS CFLAGS CXXFLAGS LDFLAGS
+stage-%: export-tarball
+ jhbuild -m "file://`pwd`/openssl.modules" build $*
+ rm -rf $*-root
+ mkdir $*-root
+ rsync -a --files-from "$(JHBUILD_PREFIX)/_jhbuild/manifests/$*" "$(JHBUILD_PREFIX)" $*-root/
stage-zenmap: export-$(ZENMAP_BUILD_DIR)
cd $(ZENMAP_BUILD_DIR)/zenmap && install_scripts/macosx/make-bundle.sh
diff --git a/macosx/openssl.modules b/macosx/openssl.modules
index b4054eddb..aede78946 100644
--- a/macosx/openssl.modules
+++ b/macosx/openssl.modules
@@ -12,6 +12,7 @@
+
@@ -77,12 +78,49 @@
-
-
-
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+