summaryrefslogtreecommitdiff
path: root/setup_native
diff options
context:
space:
mode:
authorFridrich Štrba <fridrich.strba@bluewin.ch>2012-07-23 15:59:44 +0200
committerFridrich Štrba <fridrich.strba@bluewin.ch>2012-07-23 16:00:49 +0200
commit65e2c77e762a667b965ab3dc2bcaf8b8d1a0bc91 (patch)
tree048ddc74f87501512616bf0938e7a08fa9e72a05 /setup_native
parentd5bbd67f675be962e294c24ee8b6ecccd1f341e8 (diff)
Build the cross-msi-tools if winegcc is found
Change-Id: Idc58b314a0721507e80e7b0e6216f29090f1d347
Diffstat (limited to 'setup_native')
-rw-r--r--setup_native/prj/d.lst6
-rw-r--r--setup_native/source/win32/wintools/makecab/makefile.mk10
-rw-r--r--setup_native/source/win32/wintools/msidb/makefile.mk10
-rw-r--r--setup_native/source/win32/wintools/msiinfo/makefile.mk10
-rw-r--r--setup_native/source/win32/wintools/msiinfo/msiinfo.c14
-rw-r--r--setup_native/source/win32/wintools/msimsp/makefile.mk10
-rw-r--r--setup_native/source/win32/wintools/msitran/makefile.mk10
7 files changed, 48 insertions, 22 deletions
diff --git a/setup_native/prj/d.lst b/setup_native/prj/d.lst
index 19669cddd457..581bd8541154 100644
--- a/setup_native/prj/d.lst
+++ b/setup_native/prj/d.lst
@@ -1,7 +1,13 @@
mkdir: %_DEST%\bin\osl
..\%__SRC%\bin\*.dll %_DEST%\bin\*.dll
..\%__SRC%\bin\*.exe %_DEST%\bin\*.exe
+..\%__SRC%\bin\*.exe.so %_DEST%\bin\*.exe.so
..\%__SRC%\class\*.jar %_DEST%\bin\*.jar
+symlink: %_DEST%\bin\makecab.exe %_DEST%\bin\makecab
+symlink: %_DEST%\bin\msidb.exe %_DEST%\bin\msidb
+symlink: %_DEST%\bin\msiinfo.exe %_DEST%\bin\msiinfo
+symlink: %_DEST%\bin\msimsp.exe %_DEST%\bin\msimsp
+symlink: %_DEST%\bin\msitran.exe %_DEST%\bin\msitran
mkdir: %_DEST%\bin\userscripts
..\%__SRC%\bin\install %_DEST%\bin\userscripts\install
diff --git a/setup_native/source/win32/wintools/makecab/makefile.mk b/setup_native/source/win32/wintools/makecab/makefile.mk
index c8fee10c0215..b30a52052a29 100644
--- a/setup_native/source/win32/wintools/makecab/makefile.mk
+++ b/setup_native/source/win32/wintools/makecab/makefile.mk
@@ -20,11 +20,15 @@ TARGET=sn_makecab
.IF "$(WINEGCC)"==""
@all:
@echo "No winegcc present, not building makecab..."
-.ELSE
-@all:
- @echo "Not building makecab yet, stay tuned..."
.ENDIF
+@all: $(BIN)/makecab.exe $(BIN)/makecab.exe.so
+
+$(BIN)/makecab.exe.so: $(BIN)/makecab.exe
+
+$(BIN)/makecab.exe:
+ $(WINEGCC) -o $(BIN)/makecab.exe makecab.c parseddf.c -mconsole -lmsi
+
# --- Targets --------------------------------------------------------------
.INCLUDE : target.mk
diff --git a/setup_native/source/win32/wintools/msidb/makefile.mk b/setup_native/source/win32/wintools/msidb/makefile.mk
index 2bb31bc0a5a4..6c1f0f33c05b 100644
--- a/setup_native/source/win32/wintools/msidb/makefile.mk
+++ b/setup_native/source/win32/wintools/msidb/makefile.mk
@@ -20,11 +20,15 @@ TARGET=sn_msidb
.IF "$(WINEGCC)"==""
@all:
@echo "No winegcc present, not building msidb..."
-.ELSE
-@all:
- @echo "Not building msidb yet, stay tuned..."
.ENDIF
+@all: $(BIN)/msidb.exe $(BIN)/msidb.exe.so
+
+$(BIN)/msidb.exe.so: $(BIN)/msidb.exe
+
+$(BIN)/msidb.exe:
+ $(WINEGCC) -o $(BIN)/msidb.exe msidb.c -municode -lmsi
+
# --- Targets --------------------------------------------------------------
.INCLUDE : target.mk
diff --git a/setup_native/source/win32/wintools/msiinfo/makefile.mk b/setup_native/source/win32/wintools/msiinfo/makefile.mk
index 62e09b5dc4ad..d7aab3b1018e 100644
--- a/setup_native/source/win32/wintools/msiinfo/makefile.mk
+++ b/setup_native/source/win32/wintools/msiinfo/makefile.mk
@@ -20,11 +20,15 @@ TARGET=sn_msiinfo
.IF "$(WINEGCC)"==""
@all:
@echo "No winegcc present, not building msiinfo..."
-.ELSE
-@all:
- @echo "Not building msiinfo yet, stay tuned..."
.ENDIF
+@all: $(BIN)/msiinfo.exe $(BIN)/msiinfo.exe.so
+
+$(BIN)/msiinfo.exe.so: $(BIN)/msiinfo.exe
+
+$(BIN)/msiinfo.exe:
+ $(WINEGCC) -o $(BIN)/msiinfo.exe msiinfo.c -mconsole -municode -lmsi
+
# --- Targets --------------------------------------------------------------
.INCLUDE : target.mk
diff --git a/setup_native/source/win32/wintools/msiinfo/msiinfo.c b/setup_native/source/win32/wintools/msiinfo/msiinfo.c
index 2a336841a3e9..37bbe09b1a35 100644
--- a/setup_native/source/win32/wintools/msiinfo/msiinfo.c
+++ b/setup_native/source/win32/wintools/msiinfo/msiinfo.c
@@ -33,7 +33,7 @@
#define MAX_STORAGE_NAME 31
#define COMMANDS 17
-static const uint commandMap[COMMANDS][4] =
+static const unsigned commandMap[COMMANDS][4] =
{{'c', PID_CODEPAGE, VT_I2},
{'t', PID_TITLE, VT_LPSTR},
{'j', PID_SUBJECT, VT_LPSTR},
@@ -61,7 +61,7 @@ static const char * commandNames[COMMANDS] =
static void parseDate(LPCWSTR value, SYSTEMTIME *time)
{
LPWSTR field;
- uint len = 4*sizeof(WCHAR);
+ unsigned len = 4*sizeof(WCHAR);
if (lstrlenW(value) != 19) return;
field = malloc(len + sizeof(WCHAR));
@@ -93,7 +93,7 @@ static void parseDate(LPCWSTR value, SYSTEMTIME *time)
static BOOL msiinfoDisplayProperties(LPWSTR dbfile)
{
MSIHANDLE dbhandle, infohandle;
- uint i, r, dataType;
+ unsigned i, r, dataType;
INT iVal;
FILETIME ftVal;
SYSTEMTIME sysTime;
@@ -137,9 +137,9 @@ static BOOL msiinfoDisplayProperties(LPWSTR dbfile)
return TRUE;
}
-static BOOL msiinfoUpdateProperty(MSIHANDLE infoHandle, uint property, uint dataType, LPCWSTR value)
+static BOOL msiinfoUpdateProperty(MSIHANDLE infoHandle, unsigned property, unsigned dataType, LPCWSTR value)
{
- uint r;
+ unsigned r;
int iVal = 0;
FILETIME ftVal;
SYSTEMTIME sysTime = {0};
@@ -191,9 +191,9 @@ static void usage(void)
int wmain(int argc, WCHAR *argv[])
{
WCHAR *dbfile = NULL;
- uint i = 0;
+ unsigned i = 0;
MSIHANDLE dbhandle, infohandle;
- uint r;
+ unsigned r;
LPWSTR value = 0;
static const WCHAR h1[] = {'/', '?', 0};
static const WCHAR h2[] = {'-', '?', 0};
diff --git a/setup_native/source/win32/wintools/msimsp/makefile.mk b/setup_native/source/win32/wintools/msimsp/makefile.mk
index 4d6663c30fd1..a7936623f4b7 100644
--- a/setup_native/source/win32/wintools/msimsp/makefile.mk
+++ b/setup_native/source/win32/wintools/msimsp/makefile.mk
@@ -20,11 +20,15 @@ TARGET=sn_msimsp
.IF "$(WINEGCC)"==""
@all:
@echo "No winegcc present, not building msimsp..."
-.ELSE
-@all:
- @echo "Not building msimsp yet, stay tuned..."
.ENDIF
+@all: $(BIN)/msimsp.exe $(BIN)/msimsp.exe.so
+
+$(BIN)/msimsp.exe.so: $(BIN)/msimsp.exe
+
+$(BIN)/msimsp.exe:
+ $(WINEGCC) -o $(BIN)/msimsp.exe msimsp.c -mconsole -lmsi
+
# --- Targets --------------------------------------------------------------
.INCLUDE : target.mk
diff --git a/setup_native/source/win32/wintools/msitran/makefile.mk b/setup_native/source/win32/wintools/msitran/makefile.mk
index c22c9d17e4b6..4b5ed738d607 100644
--- a/setup_native/source/win32/wintools/msitran/makefile.mk
+++ b/setup_native/source/win32/wintools/msitran/makefile.mk
@@ -20,11 +20,15 @@ TARGET=sn_msitran
.IF "$(WINEGCC)"==""
@all:
@echo "No winegcc present, not building msitran..."
-.ELSE
-@all:
- @echo "Not building msitran yet, stay tuned..."
.ENDIF
+@all: $(BIN)/msitran.exe $(BIN)/msitran.exe.so
+
+$(BIN)/msitran.exe.so: $(BIN)/msitran.exe
+
+$(BIN)/msitran.exe:
+ $(WINEGCC) -o $(BIN)/msitran.exe msitran.c -mconsole -lmsi
+
# --- Targets --------------------------------------------------------------
.INCLUDE : target.mk