reapack

Package manager for REAPER
Log | Files | Refs | Submodules | README | LICENSE

commit f5a6aae2a56eca8ea7707a944b016dec0c7c5840
parent 66b727ed15ca45822f4600d0a91b5edf5f591047
Author: cfillion <cfillion@users.noreply.github.com>
Date:   Wed, 16 Dec 2015 17:50:13 -0800

setup dual build for both platforms

Diffstat:
Mmacosx.tup | 2+-
Mwin32.tup | 28+++++++++++++++++-----------
Awrapper.bat | 23+++++++++++++++++++++++
Mx64/tup.config | 3++-
Mx86/tup.config | 3++-
5 files changed, 45 insertions(+), 14 deletions(-)

diff --git a/macosx.tup b/macosx.tup @@ -7,7 +7,7 @@ CXXFLAGS += -fdiagnostics-color -fstack-protector-strong CXXFLAGS += -pipe -fPIC -O2 -std=c++14 CXXFLAGS += -Ivendor -Ivendor/WDL -Ivendor/WDL/WDL CXXFLAGS += -DWDL_NO_DEFINE_MINMAX -CXXFLAGS += -arch @(ARCH) +CXXFLAGS += -arch @(OSXARCH) WDLFLAGS := -std=c++98 -w diff --git a/win32.tup b/win32.tup @@ -1,21 +1,27 @@ -CXX := cl -LD := link -RC := rc +# wrapper.bat selects which compiler to execute depending on the architecture +WRAP := cmd /C wrapper.bat @(WINARCH) + +CXX := $(WRAP) cl CXXFLAGS := /nologo /W3 /WX /wd4996 /O2 /EHsc /MT CXXFLAGS += /Ivendor /Ivendor/WDL /Ivendor/WDL/WDL -CXXFLAGS += /Ivendor/libcurl/include +CXXFLAGS += /Ivendor/libcurl_@(WINARCH)/include CXXFLAGS += /DWDL_NO_DEFINE_MINMAX CXXFLAGS += /DCURL_STATICLIB -LDFLAGS := /nologo -LDFLAGS += user32.lib vendor/libcurl/lib/libcurl_a.lib src/resource.res +LD := $(WRAP) link +LDFLAGS := /nologo user32.lib +LDFLAGS += vendor/libcurl_@(WINARCH)/lib/libcurl_a.lib +LDFLAGS += $(TUP_VARIANTDIR)/src/resource.res + +RC := rc +RCFLAGS += /nologo /fo $(TUP_VARIANTDIR)/src/resource.res -SOFLAGS := /DLL /OUT:bin/reaper_reapack.dll -SOTARGET := bin/reaper_reapack.dll -SOTARGET += bin/reaper_reapack.lib bin/reaper_reapack.exp +SOFLAGS := /DLL /OUT:$(TUP_VARIANTDIR)/bin/reaper_reapack_@(WINARCH).dll +SOTARGET := bin/reaper_reapack_@(WINARCH).dll +SOTARGET += bin/reaper_reapack_@(WINARCH).lib bin/reaper_reapack_@(WINARCH).exp -TSFLAGS := /OUT:bin/test.exe +TSFLAGS := /OUT:$(TUP_VARIANTDIR)/bin/test.exe TSTARGET := bin/test.exe bin/test.lib bin/test.exp LINKDEPS := src/resource.res @@ -23,4 +29,4 @@ LINKDEPS := src/resource.res !build = |> $(CXX) $(CXXFLAGS) /c %f /Fo%o |> !link = |> $(LD) $(LDFLAGS) %f |> -: src/resource.rc |> $(RC) /nologo %f |> src/resource.res +: src/resource.rc |> $(RC) $(RCFLAGS) %f |> src/resource.res diff --git a/wrapper.bat b/wrapper.bat @@ -0,0 +1,23 @@ +@echo off + +set arch=%1% +set program=%2% +set args= + +:next_arg +if "%3%"=="" goto continue +set args=%args% %3% +shift +goto next_arg +:continue + +if "%arch%"=="x64" ( + call "%VCINSTALLDIR%\vcvarsall.bat" x86_amd64 +) else ( if "%arch%"=="x86" ( + call "%VCINSTALLDIR%\vcvarsall.bat" x86 +) else ( + echo Unknown Architecture: %arch% + exit /b 42 +)) + +"%program%" %args% diff --git a/x64/tup.config b/x64/tup.config @@ -1 +1,2 @@ -CONFIG_ARCH=x86_64 +CONFIG_OSXARCH=x86_64 +CONFIG_WINARCH=x64 diff --git a/x86/tup.config b/x86/tup.config @@ -1 +1,2 @@ -CONFIG_ARCH=i386 +CONFIG_OSXARCH=i386 +CONFIG_WINARCH=x86