diff --git a/src/Build/Resources/MacOSX/Info.plist.legacy.xml b/src/Build/Resources/MacOSX/Info.plist.legacy.xml
new file mode 100644
index 00000000..14b69603
--- /dev/null
+++ b/src/Build/Resources/MacOSX/Info.plist.legacy.xml
@@ -0,0 +1,106 @@
+
+
+
+
+ CFBundleInfoDictionaryVersion
+ 6.0
+
+ CFBundleIdentifier
+ org.idrix.VeraCrypt
+
+ UTExportedTypeDeclarations
+
+
+ UTTypeIdentifier
+ org.idrix.veracrypt.hc
+
+ UTTypeDescription
+ VeraCrypt Container File
+
+ UTTypeConformsTo
+
+ public.data
+
+
+ UTTypeTagSpecification
+
+ public.filename-extension
+
+ hc
+ tc
+
+
+ public.mime-type
+ application/veracrypt
+
+
+
+
+ CFBundleDocumentTypes
+
+
+ CFBundleTypeIconFile
+ VeraCrypt_Volume.icns
+ CFBundleTypeName
+ VeraCrypt Container File
+ CFBundleTypeRole
+ Viewer
+ LSHandlerRank
+ Owner
+ LSItemContentTypes
+
+
+ org.idrix.veracrypt.hc
+
+
+
+
+ CFBundleDevelopmentRegion
+ English
+
+ CFBundleExecutable
+ VeraCrypt
+
+ CFBundleIconFile
+ VeraCrypt.icns
+
+ CFBundleName
+ VeraCrypt
+
+ CFBundlePackageType
+ APPL
+
+ CFBundleSignature
+ TRUE
+
+ CFBundleVersion
+ 1.24.6
+
+ CFBundleShortVersionString
+ _VERSION_
+
+ CFBundleLongVersionString
+ VeraCrypt _VERSION_
+
+ LSArchitecturePriority
+
+ x86_64
+ i386
+
+
+ LSMinimumSystemVersion
+ 10.7.0
+
+ LSRequiresCarbon
+
+
+ CSResourcesFileMapped
+
+
+ NSHighResolutionCapable
+
+
+ NSPrincipalClass
+ NSApplication
+
+
diff --git a/src/Build/Resources/MacOSX/Info.plist.xml b/src/Build/Resources/MacOSX/Info.plist.xml
index 14b69603..771a3819 100644
--- a/src/Build/Resources/MacOSX/Info.plist.xml
+++ b/src/Build/Resources/MacOSX/Info.plist.xml
@@ -82,14 +82,8 @@
CFBundleLongVersionString
VeraCrypt _VERSION_
- LSArchitecturePriority
-
- x86_64
- i386
-
-
LSMinimumSystemVersion
- 10.7.0
+ 10.9.0
LSRequiresCarbon
diff --git a/src/Build/build_veracrypt_macosx.sh b/src/Build/build_veracrypt_macosx.sh
index 233afb20..a28ba8de 100755
--- a/src/Build/build_veracrypt_macosx.sh
+++ b/src/Build/build_veracrypt_macosx.sh
@@ -12,22 +12,22 @@ SOURCEPATH=$(cd "$(dirname "$SCRIPTPATH/../.")"; pwd)
# directory where the VeraCrypt project has been checked out
PARENTDIR=$(cd "$(dirname "$SCRIPTPATH/../../../.")"; pwd)
-# the sources of wxWidgets 3.0.3 must be extracted to the parent directory
-export WX_ROOT=$PARENTDIR/wxWidgets-3.0.4
+# the sources of wxWidgets 3.1.2 must be extracted to the parent directory
+export WX_ROOT=$PARENTDIR/wxWidgets-3.1.2
echo "Using wxWidgets sources in $WX_ROOT"
# this will be the temporary wxWidgets directory
-export WX_BUILD_DIR=$PARENTDIR/wxBuild
+export WX_BUILD_DIR=$PARENTDIR/wxBuild-3.1.2
-# define the SDK version to use. We use 10.7 by default
-export VC_OSX_TARGET=10.7
+# define the SDK version to use. We use 10.9 by default
+export VC_OSX_TARGET=10.9
echo "Using MacOSX SDK $VC_OSX_TARGET"
cd $SOURCEPATH
echo "Building VeraCrypt"
-make WXSTATIC=1 wxbuild && make WXSTATIC=1 clean && make WXSTATIC=1 && make WXSTATIC=1 package
+# make WXSTATIC=FULL wxbuild && make WXSTATIC=FULL clean && make WXSTATIC=FULL && make WXSTATIC=FULL package
# Uncomment below and comment line above to reuse existing wxWidgets build
-# make WXSTATIC=1 clean && make WXSTATIC=1 && make WXSTATIC=1 package
\ No newline at end of file
+make WXSTATIC=FULL clean && make WXSTATIC=FULL && make WXSTATIC=FULL package
\ No newline at end of file
diff --git a/src/Build/build_veracrypt_macosx_legacy.sh b/src/Build/build_veracrypt_macosx_legacy.sh
new file mode 100755
index 00000000..6c86a7ff
--- /dev/null
+++ b/src/Build/build_veracrypt_macosx_legacy.sh
@@ -0,0 +1,32 @@
+#
+# Copyright (c) 2013-2017 IDRIX
+# Governed by the Apache License 2.0 the full text of which is contained
+# in the file License.txt included in VeraCrypt binary and source
+# code distribution packages.
+#
+
+# Absolute path this script is in
+SCRIPTPATH=$(cd "$(dirname "$0")"; pwd)
+# source directory which contains the Makefile
+SOURCEPATH=$(cd "$(dirname "$SCRIPTPATH/../.")"; pwd)
+# directory where the VeraCrypt project has been checked out
+PARENTDIR=$(cd "$(dirname "$SCRIPTPATH/../../../.")"; pwd)
+
+# the sources of wxWidgets 3.0.4 must be extracted to the parent directory
+export WX_ROOT=$PARENTDIR/wxWidgets-3.0.4
+echo "Using wxWidgets sources in $WX_ROOT"
+0# this will be the temporary wxWidgets directory
+export WX_BUILD_DIR=$PARENTDIR/wxBuild
+
+# define the SDK version to use. We use 10.7 by default
+export VC_OSX_TARGET=10.7
+echo "Using MacOSX SDK $VC_OSX_TARGET"
+
+
+cd $SOURCEPATH
+
+echo "Building VeraCrypt"
+make WXSTATIC=1 wxbuild && make WXSTATIC=1 clean && make WXSTATIC=1 && make WXSTATIC=1 package
+
+# Uncomment below and comment line above to reuse existing wxWidgets build
+# make WXSTATIC=1 clean && make WXSTATIC=1 && make WXSTATIC=1 package
\ No newline at end of file
diff --git a/src/Main/Main.make b/src/Main/Main.make
index 0bdd951d..9bf5b025 100755
--- a/src/Main/Main.make
+++ b/src/Main/Main.make
@@ -210,7 +210,11 @@ endif
cp $(BASE_DIR)/../doc/html/* $(APPNAME).app/Contents/Resources/doc/HTML
echo -n APPLTRUE >$(APPNAME).app/Contents/PkgInfo
+ifdef VC_LEGACY_BUILD
+ sed -e 's/_VERSION_/$(patsubst %a,%.1,$(patsubst %b,%.2,$(TC_VERSION)))/' ../Build/Resources/MacOSX/Info.plist.legacy.xml >$(APPNAME).app/Contents/Info.plist
+else
sed -e 's/_VERSION_/$(patsubst %a,%.1,$(patsubst %b,%.2,$(TC_VERSION)))/' ../Build/Resources/MacOSX/Info.plist.xml >$(APPNAME).app/Contents/Info.plist
+endif
codesign -s "Developer ID Application: IDRIX (Z933746L2S)" --timestamp $(APPNAME).app
install: prepare
diff --git a/src/Makefile b/src/Makefile
index 7e7172b5..b60ecfd9 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -91,6 +91,9 @@ ifeq "$(origin WXSTATIC)" "command line"
export VC_WX_STATIC := 1
WX_CONFIG = $(WX_BUILD_DIR)/wx-config
WX_CONFIG_ARGS += --static
+ ifneq "$(WXSTATIC)" "FULL"
+ export VC_WX_MINIMAL := 1
+ endif
endif
@@ -224,6 +227,10 @@ ifeq "$(shell uname -s)" "Linux"
WXCONFIG_CFLAGS += -mno-sse2
WXCONFIG_CXXFLAGS += -mno-sse2
endif
+
+ ifeq "$(origin WITHGTK3)" "command line"
+ WX_CONFIGURE_FLAGS += --with-gtk=3
+ endif
endif
@@ -241,6 +248,11 @@ ifeq "$(shell uname -s)" "Darwin"
ifeq ($(wildcard $(VC_OSX_SDK)/SDKSettings.plist),)
VC_OSX_SDK := /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX$(VC_OSX_TARGET).sdk
endif
+
+ #----- Legacy build if OSX <= 10.8: we build both 32-bit and 64-bit ----
+ ifneq (,$(filter 10.6 10.7 10.8,$(VC_OSX_TARGET)))
+ export VC_LEGACY_BUILD := 1
+ endif
CC := gcc
CXX := g++
@@ -277,10 +289,18 @@ ifeq "$(shell uname -s)" "Darwin"
S := $(C_CXX_FLAGS)
C_CXX_FLAGS = $(subst -MMD,,$(S))
- C_CXX_FLAGS += -gfull -arch i386 -arch x86_64
- LFLAGS += -Wl,-dead_strip -arch i386 -arch x86_64
+ C_CXX_FLAGS += -gfull -arch x86_64
+ LFLAGS += -Wl,-dead_strip -arch x86_64
+
+ #----- Legacy build: we build both 32-bit and 64-bit ----
+ ifdef VC_LEGACY_BUILD
+ C_CXX_FLAGS += -arch i386
+ LFLAGS += -arch i386
+ WX_CONFIGURE_FLAGS += --enable-universal_binary=i386,x86_64
+ else
+ WX_CONFIGURE_FLAGS += --disable-universal_binary
+ endif
- WX_CONFIGURE_FLAGS += --enable-universal_binary=i386,x86_64
WXCONFIG_CFLAGS += -gfull
WXCONFIG_CXXFLAGS += -gfull
@@ -359,8 +379,10 @@ CFLAGS := $(C_CXX_FLAGS) $(CFLAGS) $(TC_EXTRA_CFLAGS)
CXXFLAGS := $(C_CXX_FLAGS) $(CXXFLAGS) $(TC_EXTRA_CXXFLAGS)
LFLAGS := $(LFLAGS) $(TC_EXTRA_LFLAGS)
-WX_CONFIGURE_FLAGS += --enable-unicode -disable-shared --disable-dependency-tracking --disable-compat26 --enable-exceptions --enable-std_string --enable-dataobj --enable-mimetype \
- --disable-protocol --disable-protocols --disable-url --disable-ipc --disable-sockets --disable-fs_inet --disable-ole --disable-docview --disable-clipboard \
+WX_CONFIGURE_FLAGS += --enable-unicode -disable-shared --disable-dependency-tracking --enable-exceptions --enable-std_string --enable-dataobj --enable-mimetype
+
+ifdef VC_WX_MINIMAL
+WX_CONFIGURE_FLAGS += --disable-protocol --disable-protocols --disable-url --disable-ipc --disable-sockets --disable-fs_inet --disable-ole --disable-docview --disable-clipboard \
--disable-help --disable-html --disable-mshtmlhelp --disable-htmlhelp --disable-mdi --disable-metafile --disable-webkit --disable-webview \
--disable-xrc --disable-aui --disable-postscript --disable-printarch \
--disable-arcstream --disable-fs_archive --disable-fs_zip --disable-tarstream --disable-zipstream \
@@ -376,16 +398,18 @@ WX_CONFIGURE_FLAGS += --enable-unicode -disable-shared --disable-dependency-trac
--disable-sound --disable-mediactrl --disable-joystick --disable-apple_ieee \
--disable-gif --disable-pcx --disable-tga --disable-iff --disable-gif --disable-pnm --disable-svg \
--without-expat --without-libtiff --without-libjpeg --without-libpng -without-regex --without-zlib
-
+
ifeq "$(PLATFORM)" "Linux"
WX_CONFIGURE_FLAGS += --disable-tooltips
-ifeq "$(origin WITHGTK3)" "command line"
- WX_CONFIGURE_FLAGS += --with-gtk=3
+ifneq "$(origin WITHGTK3)" "command line"
+ WX_CONFIGURE_FLAGS += --disable-graphics_ctx
+endif
else
WX_CONFIGURE_FLAGS += --disable-graphics_ctx
endif
endif
+
#------ Project build ------
PROJ_DIRS := Platform Volume Driver/Fuse Core Main
@@ -428,4 +452,4 @@ endif
cd "$(WX_BUILD_DIR)" && "$(WX_ROOT)/configure" $(WX_CONFIGURE_FLAGS) >/dev/null
@echo Building wxWidgets library...
- cd "$(WX_BUILD_DIR)" && $(MAKE)
+ cd "$(WX_BUILD_DIR)" && $(MAKE) -j 4