Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
sudo zypper install libuuid-devel libicu-devel
cd tzcode
make
sudo make install
cd ..
cd opencflite-476.19.0
./configure
make
sudo make install
cd ..
Но вот то что cl.exe внезапно оказался not valid Win32 image — это был удар.Для справки. В PE-заголовке есть поле «версия подсистемы», системный загрузчик в принципе отказывается загружать exe-шники, у которых это поле больше версии системы, именно с ошибкой «not valid Win32 image». Лечится editbin /subsystem:console,5.0 cl.exe (warning LNK4241 можно игнорировать). 2012-й студии под рукой нет, cl.exe из 2013-й студии после такой операции не работает уже по другой, более ясной причине «Точка входа в процедуру InitializeCriticalSectionEx не найдена в библиотеке DLL KERNEL32.dll.» — и действительно, такая API-функция появилась только в Vista.
OSSDK=/Developer/SDKs/MacOSX10.5.sdk
ASDK=/Developer/SDKs/id8.0sdk
OSX_MIN=10.5
CFLAGS+=-DMACOSX_SDKVERSION=1050 -DSUITE_VER=CS6
ASDK_INCLUDE=-I$(ASDK)/build/mac/Release/SDK/include
ASDK_INCLUDE+=-I$(ASDK)/source/public/libs/widgetbin/tooltips
ASDK_INCLUDE+=-I$(ASDK)/source/public/libs/widgetbin/menus
ASDK_INCLUDE+=-I$(ASDK)/source/public/libs/widgetbin/dialogs
ASDK_INCLUDE+=-I$(ASDK)/source/public/libs/widgetbin/dialogs/selectabledialogs
ASDK_INCLUDE+=-I$(ASDK)/source/public/libs/widgetbin/treeview
ASDK_INCLUDE+=-I$(ASDK)/source/public/libs/widgetbin/events
ASDK_INCLUDE+=-I$(ASDK)/source/public/libs/widgetbin/includes
ASDK_INCLUDE+=-I$(ASDK)/source/public/libs/widgetbin/utils
ASDK_INCLUDE+=-I$(ASDK)/source/public/libs/widgetbin/view
ASDK_INCLUDE+=-I$(ASDK)/source/public/libs/widgetbin/pageitems
ASDK_INCLUDE+=-I$(ASDK)/source/public/libs/widgetbin/pageitems/basicinterfaces
ASDK_INCLUDE+=-I$(ASDK)/source/public/libs/widgetbin/trackers
ASDK_INCLUDE+=-I$(ASDK)/source/public/libs/widgetbin/graphics
ASDK_INCLUDE+=-I$(ASDK)/external/dva/third_party
ASDK_INCLUDE+=-I$(ASDK)/external/dva/third_party/boost_libraries
ASDK_INCLUDE+=-I$(ASDK)/external/dva/third_party/adobe_source_libraries
ASDK_INCLUDE+=-I$(ASDK)/source/public/libs/publiclib/objectmodel
ASDK_INCLUDE+=-I$(ASDK)/source/public/libs/publiclib/streaming
ASDK_INCLUDE+=-I$(ASDK)/source/public/libs/publiclib/localization
ASDK_INCLUDE+=-I$(ASDK)/source/public/libs/publiclib/commondata
ASDK_INCLUDE+=-I$(ASDK)/source/public/libs/publiclib/strings
ASDK_INCLUDE+=-I$(ASDK)/source/public/libs/publiclib/structure
ASDK_INCLUDE+=-I$(ASDK)/source/public/libs/publiclib/foundation
ASDK_INCLUDE+=-I$(ASDK)/source/public/libs/publiclib/plugins
ASDK_INCLUDE+=-I$(ASDK)/source/public/libs/publiclib/commands
ASDK_INCLUDE+=-I$(ASDK)/source/public/libs/publiclib/events
ASDK_INCLUDE+=-I$(ASDK)/source/public/libs/publiclib/files
ASDK_INCLUDE+=-I$(ASDK)/source/public/libs/publiclib/utils
ASDK_INCLUDE+=-I$(ASDK)/source/public/libs/publiclib/statics
ASDK_INCLUDE+=-I$(ASDK)/source/public/libs/publiclib/resourcedefs
ASDK_INCLUDE+=-I$(ASDK)/source/public/libs/publiclib/measurementsystem
ASDK_INCLUDE+=-I$(ASDK)/source/public/libs/publiclib/pageitems
ASDK_INCLUDE+=-I$(ASDK)/source/public/libs/publiclib/pageitems/basicinterfaces
ASDK_INCLUDE+=-I$(ASDK)/source/public/libs/publiclib/scripting
ASDK_INCLUDE+=-I$(ASDK)/source/public/libs/publiclib/graphics
ASDK_INCLUDE+=-I$(ASDK)/source/public/libs/publiclib/links
ASDK_INCLUDE+=-I$(ASDK)/source/public/libs/publiclib/messaging
ASDK_INCLUDE+=-I$(ASDK)/source/public/includes
ASDK_INCLUDE+=-I$(ASDK)/source/public/interfaces/sharedcontent
ASDK_INCLUDE+=-I$(ASDK)/source/public/interfaces/colormgmt
ASDK_INCLUDE+=-I$(ASDK)/source/public/interfaces/cjk
ASDK_INCLUDE+=-I$(ASDK)/source/public/interfaces/interactive
ASDK_INCLUDE+=-I$(ASDK)/source/public/interfaces/interactive/ui
ASDK_INCLUDE+=-I$(ASDK)/source/public/interfaces/server
ASDK_INCLUDE+=-I$(ASDK)/source/public/interfaces/preflight
ASDK_INCLUDE+=-I$(ASDK)/source/public/interfaces/tables
ASDK_INCLUDE+=-I$(ASDK)/source/public/interfaces/layout
ASDK_INCLUDE+=-I$(ASDK)/source/public/interfaces/xmedia
ASDK_INCLUDE+=-I$(ASDK)/source/public/interfaces/utils
ASDK_INCLUDE+=-I$(ASDK)/source/public/interfaces/architecture
ASDK_INCLUDE+=-I$(ASDK)/source/public/interfaces/incopy
ASDK_INCLUDE+=-I$(ASDK)/source/public/interfaces/workgroup
ASDK_INCLUDE+=-I$(ASDK)/source/public/interfaces/text
ASDK_INCLUDE+=-I$(ASDK)/source/public/interfaces/graphics
ASDK_INCLUDE+=-I$(ASDK)/source/public/interfaces/contentdropper
ASDK_INCLUDE+=-I$(ASDK)/source/public/interfaces/ui
ASDK_INCLUDE+=-I$(ASDK)/source/open/includes
ASDK_INCLUDE+=-I$(ASDK)/source/open/includes/interactive
ASDK_INCLUDE+=-I$(ASDK)/source/open/includes/widgets
ASDK_INCLUDE+=-I$(ASDK)/source/open/includes/layout
ASDK_INCLUDE+=-I$(ASDK)/source/open/includes/utils
ASDK_INCLUDE+=-I$(ASDK)/source/open/includes/architecture
ASDK_INCLUDE+=-I$(ASDK)/source/open/includes/text
ASDK_INCLUDE+=-I$(ASDK)/source/open/includes/ui
ASDK_INCLUDE+=-I$(ASDK)/source/open/interfaces/interactive
ASDK_INCLUDE+=-I$(ASDK)/source/open/interfaces/preflight
ASDK_INCLUDE+=-I$(ASDK)/source/open/interfaces/layout
ASDK_INCLUDE+=-I$(ASDK)/source/open/interfaces/architecture
ASDK_INCLUDE+=-I$(ASDK)/source/open/interfaces/incopy
ASDK_INCLUDE+=-I$(ASDK)/source/open/interfaces/text
ASDK_INCLUDE+=-I$(ASDK)/source/open/interfaces/graphics
ASDK_INCLUDE+=-I$(ASDK)/source/open/interfaces/ui
ASDK_INCLUDE+=-I$(ASDK)/source/precomp/gcc
ASDK_INCLUDE+=-I$(ASDK)/source/precomp/common
ASDK_INCLUDE+=-I$(ASDK)/source/sdksamples/common
ODFRC_DEFS=-d ID_CS6
CFLAGS+=-fmessage-length=0 -pipe -O2 -fpascal-strings
CFLAGS+=-fasm-blocks
#InDesign specific
CFLAGS+=-Wno-trigraphs -Wreturn-type -Woverloaded-virtual -Wmissing-braces -Wparentheses
CFLAGS+=-Wunused-function -Wunused-label -Wunused-value -Wshadow -Wno-deprecated-declarations
CFLAGS+=-Wchar-subscripts -Wimplicit -Wsequence-point -Winit-self -Wmissing-field-initializers
CFLAGS+=-Wpointer-arith -Wcast-align -Wpacked
CFLAGS=-fvisibility=hidden -fvisibility-inlines-hidden -fno-threadsafe-statics
#Defines
CFLAGS+=-DMACINTOSH -DBIB_NO_THROW -DMACTEL_SKIP
#Includes
CFLAGS+=-I$(OSSDK)/Developer/Headers/FlatCarbon
CFLAGS+=$(ASDK_INCLUDE)
#Frameworks
CFLAGS+=-F$(ASDK)/build/mac/release/packagefolder/contents/macos
CFLAGS+=-F$(ASDK)/build/mac/release/packagefolder/contents/Frameworks
# odfrc
ODFRC=$(ASDK)/devtools/bin/odfrc-cmd
ODFRC_DEFS+=-d NDEBUG -d MACINTOSH -d __GNUC__
LDFLAGS+=-L$(ASDK)/build/mac/release/packagefolder/contents/macos/libs
LDFLAGS+=-F$(ASDK)/build/mac/release/packagefolder/contents/macos
LDFLAGS+=-F$(ASDK)/build/mac/release/packagefolder/contents/Frameworks
LDFLAGS+=-framework InDesignModel
LDFLAGS+=-Wl,-executable_path -Wl,$(ASDK)/build/mac/Release/packagefolder/contents/macos/
LDFLAGS+=-lPublicPlugIn
LDFLAGS+=-Wl,-dead_strip
LDFLAGS+=-Wl,-single_module
Rez=/Developer/Tools/Rez
RezFlags=-o $@ -d SystemSevenOrLater=1 -useDF -script Roman $(CFLAGS) $(ASDK)/samplecode/common/includes/MachOMacrezXcode.h
ifeq (x64,$(ARCH))
CFLAGS+=-arch x86_64
LDFLAGS+=-arch x86_64 -dynamiclib
RezFlags+=-arch x86_64
else
CFLAGS+=-arch i386
LDFLAGS=-arch i386 -dynamiclib
RezFlags+=-arch i386
endif
# FIRST LINE IS FOR odfrc AS IT DOESN'T SUPPORTS SPACES IN PATHS
ASDK_INCLUDE=$(AdobeSDK)\source\precomp\common;$(AdobeSDK)\source\precomp\msvc
ASDK_INCLUDE:=$(ASDK_INCLUDE);$(AdobeSDK)\source\public\includes
function GetPathByCOM(product: string; clsid: string; is32bit: boolean) : string;
var
v: string;
k, e, k1: string;
i: integer;
begin
k := 'CLSID\{' + clsid + '}\LocalServer32';
k1:= 'CLSID\{' + clsid + '}\InprocServer32';
e := '{pf}';
if IsWin64 and Is64BitInstallMode then begin
if is32bit then begin
e := '{pf32}';
k := 'Wow6432Node\' + k;
k1:= 'Wow6432Node\' + k1;
end;
end;
if RegQueryStringValue(HKEY_CLASSES_ROOT, k, '', v) then begin
i := Pos('/', v);
if i > 0 then v := Trim(Copy(v, 1, i - 1));
Result:= ExtractFilePath(v);
end else if RegQueryStringValue(HKEY_CLASSES_ROOT, k1, '', v) then begin
i := Pos('/', v);
if i > 0 then v := Trim(Copy(v, 1, i - 1));
Result:= ExtractFilePath(v);
end else
Result := ExpandConstant(e) + '\Adobe\' + product + '\';
end;
function GetPathByApp(product: string; ver: string; is32bit: boolean): string;
var
v: string;
k, e: string;
i: integer;
begin
k := 'SOFTWARE\Adobe\' + ver + '\ApplicationPath';
e := '{pf}';
if IsWin64 and Is64BitInstallMode then begin
if is32bit then begin
e := '{pf32}';
k := 'SOFTWARE\Wow6432Node\Adobe\' + ver + '\ApplicationPath';
end;
end;
if RegQueryStringValue(HKEY_LOCAL_MACHINE, k, '', v)
then begin
i := Pos('/', v);
if i > 0 then begin
v := Trim(Copy(v, 1, i - 1));
v:= ExtractFilePath(v);
end;
Result:= v;
end else
Result := ExpandConstant(e) + '\Adobe\' + product + '\';
end;
function GetPathByShell(product: string; ver: string; is32bit: boolean): string;
var
v, e, k: string;
i: integer;
begin
k := ver + '\shell\launch\command';
e := '{pf}'; \
if IsWin64 and Is64BitInstallMode then begin
if is32bit then begin
e := '{pf32}';
k := 'Wow6432Node\' + k;
end;
end;
if RegQueryStringValue(HKEY_CLASSES_ROOT, k, '', v)
then begin
i := Pos('/', v);
if i > 0 then v := Trim(Copy(v, 1, i - 1));
Result:= ExtractFilePath(v);
end else
Result := ExpandConstant(e) + '\Adobe\' + product + '\';
end;
function GetPathBySetup2(product: string; ver: string; is32bit: boolean): string;
var
v, e, k: string;
begin
k := 'SOFTWARE\Adobe\' + ver;
e := '{pf}';
if IsWin64 and Is64BitInstallMode then begin
if is32bit then begin
e := '{pf32}';
k := 'SOFTWARE\Wow6432Node\Adobe\' + ver;
end;
end;
if RegQueryStringValue(HKEY_LOCAL_MACHINE, k, 'InstallPath', v)
then begin
Result:= v;
end else
Result := ExpandConstant(e) + '\Adobe\' + product + '\';
end;
function GetPathBySetup(product: string; ver: string; is32bit: boolean): string;
begin
Result := GetPathBySetup2(product, ver + '\Installer', is32bit);
end;
function GetPathByCOMsAnd32bit(product: string; clsid: string; clsi2: string): string;
var
v: string;
k1, k2, e: string;
begin
k1 := 'CLSID\{' + clsid + '}\LocalServer32';
k2 := 'CLSID\{' + clsi2 + '}\LocalServer32';
e := '{pf}';
if IsWin64 and Is64BitInstallMode then begin
e := '{pf32}';
k1 := 'Wow6432Node\' + k1;
k2 := 'Wow6432Node\' + k2;
end;
if RegQueryStringValue(HKEY_CLASSES_ROOT, k1, '', v)
then
Result := ExtractFilePath(v)
else if RegQueryStringValue(HKEY_CLASSES_ROOT, k2, '', v) then
Result := ExtractFilePath(v)
else
Result := ExpandConstant(e) + '\Adobe\' + product + '\';
end;
function isAdobeAvailable(product: string; is32bit: boolean) : Boolean;
var
k: string;
begin
k := 'SOFTWARE\Adobe\' + product;
if IsWin64 and Is64BitInstallMode then begin
if is32bit then begin
k := 'SOFTWARE\Wow6432Node\Adobe\' + product;
end;
end;
if RegKeyExists(HKEY_LOCAL_MACHINE, k)
then begin
Result:=True;
end;
end;
; CS6 64bit
Source: ..\..\image\bin\x64\cs6\VDP.pln; DestDir: {code:GetS6Path|{pf}\Adobe\Adobe InDesign Server CS6\}\Plug-ins; DestName: VDP.pln; Flags: ignoreversion overwritereadonly replacesameversion 64bit; Check: CheckedIndesignS6
Source: ..\..\image\bin\x64\cs6\(VDP Resources)\idrc_CLST\*.*; DestDir: {code:GetS6Path|{pf}\Adobe\Adobe InDesign Server CS6\}\Plug-ins\(VDP Resources)\idrc_CLST; Flags: ignoreversion overwritereadonly replacesameversion 64bit; Check: CheckedIndesignS6
...
; CS6 32bit in 64bit
Source: ..\..\image\bin\x86\cs6\VDP.pln; DestDir: {code:GetS6Path_32in64|{pf32}\Adobe\Adobe InDesign Server CS6\}\Plug-ins; DestName: VDP.pln; Flags: ignoreversion overwritereadonly replacesameversion 64bit; Check: CheckedIndesignS6_32in64
Source: ..\..\image\bin\x86\cs6\(VDP Resources)\idrc_CLST\*.*; DestDir: {code:GetS6Path_32in64|{pf32}\Adobe\Adobe InDesign Server CS6\}\Plug-ins\(VDP Resources)\idrc_CLST; Flags: ignoreversion overwritereadonly replacesameversion 64bit; Check: CheckedIndesignS6_32in64
...
; CS6 32bit
Source: ..\..\image\bin\x86\cs6\VDP.pln; DestDir: {code:GetS6Path|{pf}\Adobe\Adobe InDesign Server CS6\}\Plug-ins; DestName: VDP.pln; Flags: ignoreversion overwritereadonly replacesameversion; Check: CheckedIndesignS6
Source: ..\..\image\bin\x86\cs6\(VDP Resources)\idrc_CLST\*.*; DestDir: {code:GetS6Path|{pf}\Adobe\Adobe InDesign Server CS6\}\Plug-ins\(VDP Resources)\idrc_CLST; Flags: ignoreversion overwritereadonly replacesameversion; Check: CheckedIndesignS6
...
#!/bin/bash PROGRAMFILES="c:/Program Files" WSDK="$PROGRAMFILES/Microsoft Visual Studio 11.0" export WINEPREFIX="/home/alexey/wine2" export INCLUDE="$WSDK/VC/INCLUDE;$WSDK/VC/ATLMFC/INCLUDE;$PROGRAMFILES/Windows Kits/8.0/include/shared;$PROGRAMFILES/Windows Kits/8.0/include/um;$PROGRAMFILES/Windows Kits/8.0/include/winrt;" export LIB="$WSDK/VC/LIB;$WSDK/VC/ATLMFC/LIB;$PROGRAMFILES/Windows Kits/8.0/lib/win8/um/x86;" export LIBPATH="$WSDK/VC/LIB;$WSDK/VC/ATLMFC/LIB;" export WINEPATH="c:/windows;c:/windows/system32;$WSDK/Common7/IDE;$WSDK/VC/bin;" wine cl.exe $@
Как я стенд для сборки с windows на wine мигрировал