зеркало из https://github.com/mozilla/gecko-dev.git
bug 474737 - Windows ce tools refactor, NPOTB r=dougt, ted
--HG-- rename : build/wince/tools/vs9ppc2003arm/arm-wince-as.c => build/wince/tools/arm-wince-as.c rename : build/wince/tools/vs9ppc2003arm/arm-wince-gcc.c => build/wince/tools/arm-wince-gcc.c rename : build/wince/tools/vs9ppc2003arm/arm-wince-lib.c => build/wince/tools/arm-wince-lib.c rename : build/wince/tools/vs9ppc2003arm/arm-wince-link.c => build/wince/tools/arm-wince-link.c rename : build/wince/tools/vs9ppc2003arm/arm-wince-res.c => build/wince/tools/arm-wince-res.c rename : build/wince/tools/vs9ppc2003arm/toolspath.h => build/wince/tools/toolspath.h
This commit is contained in:
Родитель
5151951c4e
Коммит
9fed2d7000
|
@ -66,6 +66,11 @@ config/doxygen.cfg
|
|||
config/tests/src-simple/Makefile
|
||||
probes/Makefile
|
||||
extensions/Makefile
|
||||
build/wince/tools/Makefile
|
||||
build/wince/shunt/Makefile
|
||||
build/wince/shunt/include/windows.h
|
||||
build/wince/shunt/include/ymath.h
|
||||
build/wince/shunt/include/sys/Makefile
|
||||
"
|
||||
|
||||
if [ "$MOZ_MEMORY" ]; then
|
||||
|
|
|
@ -53,6 +53,10 @@ ifeq (WINNT,$(OS_ARCH))
|
|||
DIRS = win32
|
||||
endif
|
||||
|
||||
ifdef WINCE
|
||||
DIRS += wince/tools wince/shunt
|
||||
endif
|
||||
|
||||
DIRS += pgo
|
||||
|
||||
include $(topsrcdir)/config/rules.mk
|
||||
|
|
|
@ -0,0 +1,91 @@
|
|||
# ***** BEGIN LICENSE BLOCK *****
|
||||
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
#
|
||||
# The contents of this file are subject to the Mozilla Public License Version
|
||||
# 1.1 (the "License"); you may not use this file except in compliance with
|
||||
# the License. You may obtain a copy of the License at
|
||||
# http://www.mozilla.org/MPL/
|
||||
#
|
||||
# Software distributed under the License is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
# for the specific language governing rights and limitations under the
|
||||
# License.
|
||||
#
|
||||
# The Original Code is Mozilla core build scripts.
|
||||
#
|
||||
# The Initial Developer of the Original Code is
|
||||
# Brad Lassey <blassey@mozilla.com>
|
||||
#
|
||||
# Portions created by the Initial Developer are Copyright (C) 2008
|
||||
# the Mozilla Foundation <http://www.mozilla.org/>. All Rights Reserved.
|
||||
#
|
||||
# Contributor(s):
|
||||
#
|
||||
# Alternatively, the contents of this file may be used under the terms of
|
||||
# either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
# in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
# of those above. If you wish to allow use of your version of this file only
|
||||
# under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
# use your version of this file under the terms of the MPL, indicate your
|
||||
# decision by deleting the provisions above and replace them with the notice
|
||||
# and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
# the provisions above, a recipient may use your version of this file under
|
||||
# the terms of any one of the MPL, the GPL or the LGPL.
|
||||
#
|
||||
# ***** END LICENSE BLOCK *****
|
||||
|
||||
DEPTH = ../../..
|
||||
topsrcdir = @top_srcdir@
|
||||
srcdir = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
MODULE = shunt
|
||||
|
||||
TOPSRCDIR = $(topsrcdir)
|
||||
OBJDIR = $(DEPTH)
|
||||
|
||||
include $(DEPTH)/config/autoconf.mk
|
||||
|
||||
EXPORTS = include/windows.h \
|
||||
include/ymath.h \
|
||||
include/direct.h \
|
||||
include/errno.h \
|
||||
include/fcntl.h \
|
||||
include/io.h \
|
||||
include/mbstring.h \
|
||||
include/mozce_shunt.h \
|
||||
include/process.h \
|
||||
include/signal.h \
|
||||
$(NULL)
|
||||
|
||||
DIRS += include/sys
|
||||
|
||||
BUILD_SWITCH = -Build
|
||||
REBUILD_SWITCH = -Rebuild
|
||||
CLEAN_SWITCH = -clean
|
||||
|
||||
MOZCE_DEVENV=vs$(MOZ_MSVCVERSION)
|
||||
|
||||
MOZCE_SHUNT_SLN=$(TOPSRCDIR)/build/wince/shunt/build/$(MOZCE_DEVENV)/mozce_shunt_static.sln
|
||||
MOZCE_SHUNT_BUILDDIR=$(srcdir)/build/vs$(MOZ_MSVCVERSION)
|
||||
|
||||
MOZCE_PROJECT="Release|Windows Mobile 6 Professional SDK (ARMV4I)"
|
||||
|
||||
include $(topsrcdir)/config/rules.mk
|
||||
|
||||
|
||||
$(MOZCE_SHUNT_BUILDDIR)/mozce_shunt.lib:: $(MOZCE_SHUNT_BUILDDIR)/mozce_shunt.dll
|
||||
|
||||
|
||||
$(MOZCE_SHUNT_BUILDDIR)/mozce_shunt.dll:
|
||||
devenv $(MOZCE_SHUNT_SLN) $(BUILD_SWITCH) $(MOZCE_PROJECT)
|
||||
|
||||
libs:: $(MOZCE_SHUNT_BUILDDIR)/mozce_shunt.dll $(MOZCE_SHUNT_BUILDDIR)/mozce_shunt.lib
|
||||
$(INSTALL) $(MOZCE_SHUNT_BUILDDIR)/mozce_shunt.dll $(DIST)/bin
|
||||
$(INSTALL) $(MOZCE_SHUNT_BUILDDIR)/mozce_shunt.lib $(DIST)/lib
|
||||
|
||||
install:: $(MOZCE_SHUNT_BUILDDIR)/mozce_shunt.dll $(MOZCE_SHUNT_BUILDDIR)/mozce_shunt.lib
|
||||
$(SYSINSTALL) $(MOZCE_SHUNT_BUILDDIR)/mozce_shunt.dll $(DESTDIR)$(bindir)
|
||||
$(SYSINSTALL) $(MOZCE_SHUNT_BUILDDIR)/mozce_shunt.lib $(DESTDIR)$(libdir)
|
||||
|
||||
|
|
@ -0,0 +1,49 @@
|
|||
# ***** BEGIN LICENSE BLOCK *****
|
||||
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
#
|
||||
# The contents of this file are subject to the Mozilla Public License Version
|
||||
# 1.1 (the "License"); you may not use this file except in compliance with
|
||||
# the License. You may obtain a copy of the License at
|
||||
# http://www.mozilla.org/MPL/
|
||||
#
|
||||
# Software distributed under the License is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
# for the specific language governing rights and limitations under the
|
||||
# License.
|
||||
#
|
||||
# The Original Code is Mozilla core build scripts.
|
||||
#
|
||||
# The Initial Developer of the Original Code is
|
||||
# Brad Lassey <blassey@mozilla.com>
|
||||
#
|
||||
# Portions created by the Initial Developer are Copyright (C) 2008
|
||||
# the Mozilla Foundation <http://www.mozilla.org/>. All Rights Reserved.
|
||||
#
|
||||
# Contributor(s):
|
||||
#
|
||||
# Alternatively, the contents of this file may be used under the terms of
|
||||
# either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
# in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
# of those above. If you wish to allow use of your version of this file only
|
||||
# under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
# use your version of this file under the terms of the MPL, indicate your
|
||||
# decision by deleting the provisions above and replace them with the notice
|
||||
# and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
# the provisions above, a recipient may use your version of this file under
|
||||
# the terms of any one of the MPL, the GPL or the LGPL.
|
||||
#
|
||||
# ***** END LICENSE BLOCK *****
|
||||
|
||||
DEPTH = ../../../../..
|
||||
topsrcdir = @top_srcdir@
|
||||
srcdir = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
|
||||
include $(DEPTH)/config/autoconf.mk
|
||||
|
||||
include $(topsrcdir)/config/rules.mk
|
||||
|
||||
export:: $(srcdir)/stat.h $(srcdir)/types.h
|
||||
$(INSTALL) $^ $(DIST)/include/shunt/sys
|
||||
|
|
@ -0,0 +1,50 @@
|
|||
/* ***** BEGIN LICENSE BLOCK *****
|
||||
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
*
|
||||
* The contents of this file are subject to the Mozilla Public License Version
|
||||
* 1.1 (the "License"); you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
* http://www.mozilla.org/MPL/
|
||||
*
|
||||
* Software distributed under the License is distributed on an "AS IS" basis,
|
||||
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
* for the specific language governing rights and limitations under the
|
||||
* License.
|
||||
*
|
||||
* The Original Code is MOZCE Lib.
|
||||
*
|
||||
* The Initial Developer of the Original Code is Doug Turner <dougt@meer.net>.
|
||||
|
||||
* Portions created by the Initial Developer are Copyright (C) 2008
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
* John Wolfe <wolfe@lobo.us>
|
||||
*
|
||||
* Alternatively, the contents of this file may be used under the terms of
|
||||
* either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
* in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
* of those above. If you wish to allow use of your version of this file only
|
||||
* under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
* use your version of this file under the terms of the MPL, indicate your
|
||||
* decision by deleting the provisions above and replace them with the notice
|
||||
* and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
* the provisions above, a recipient may use your version of this file under
|
||||
* the terms of any one of the MPL, the GPL or the LGPL.
|
||||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
|
||||
#ifndef MOZCE_WINDOWS_H
|
||||
#define MOZCE_WINDOWS_H
|
||||
|
||||
// This is to work around the inconistancy of GetProcAddress between
|
||||
// windows desktop and wince, see bug 464190
|
||||
|
||||
#include "@WINCE_SDK_DIR@/Include/Armv4i/windows.h"
|
||||
#ifdef GetProcAddress
|
||||
#undef GetProcAddress
|
||||
#endif
|
||||
#define GetProcAddress GetProcAddressA
|
||||
#endif
|
|
@ -0,0 +1,52 @@
|
|||
/* ***** BEGIN LICENSE BLOCK *****
|
||||
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
*
|
||||
* The contents of this file are subject to the Mozilla Public License Version
|
||||
* 1.1 (the "License"); you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
* http://www.mozilla.org/MPL/
|
||||
*
|
||||
* Software distributed under the License is distributed on an "AS IS" basis,
|
||||
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
* for the specific language governing rights and limitations under the
|
||||
* License.
|
||||
*
|
||||
* The Original Code is MOZCE Lib.
|
||||
*
|
||||
* The Initial Developer of the Original Code is Doug Turner <dougt@meer.net>.
|
||||
|
||||
* Portions created by the Initial Developer are Copyright (C) 2008
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
* John Wolfe <wolfe@lobo.us>
|
||||
*
|
||||
* Alternatively, the contents of this file may be used under the terms of
|
||||
* either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
* in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
* of those above. If you wish to allow use of your version of this file only
|
||||
* under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
* use your version of this file under the terms of the MPL, indicate your
|
||||
* decision by deleting the provisions above and replace them with the notice
|
||||
* and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
* the provisions above, a recipient may use your version of this file under
|
||||
* the terms of any one of the MPL, the GPL or the LGPL.
|
||||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
|
||||
#ifndef MOZCE_YMATH_H
|
||||
#define MOZCE_YMATH_H
|
||||
|
||||
// This is to work around _FNan not being defined on wince, see bug 464180
|
||||
|
||||
#include "@WINCE_SDK_DIR@/Include/Armv4i/ymath.h"
|
||||
#define _FMAX ((1 << (15 - _FOFF)) - 1)
|
||||
#define _FOFF 7
|
||||
#define _FSIGN 0x8000
|
||||
#define INIT(w0) {w0, 0}
|
||||
static const _Dconst _FNanWinCE = {INIT((_FMAX << _FOFF)
|
||||
| (1 << (_FOFF - 1)))};
|
||||
#define _FNan _FNanWinCE
|
||||
#endif
|
|
@ -41,30 +41,71 @@ CC=cl -O2
|
|||
|
||||
MOZCE_DEVENV=vs$(MOZ_MSVCVERSION)
|
||||
|
||||
MOZCE_SHUNT_SLN=../shunt/build/$(MOZCE_DEVENV)/mozce_shunt_static.sln
|
||||
MOZCE_SHUNT_SLN=$(TOPSRCDIR)/build/wince/shunt/build/$(MOZCE_DEVENV)/mozce_shunt_static.sln
|
||||
MOZCE_PROJECT="Release|Windows Mobile 6 Professional SDK (ARMV4I)"
|
||||
MOZCE_SHUNT_DLL=../shunt/build/$(MOZCE_DEVENV)/mozce_shunt.dll
|
||||
MOZCE_TOOLS_DIR=$(MOZCE_DEVENV)ppc2003arm
|
||||
MOZCE_TOOLS_DIR=$(TOPSRCDIR)/build/wince/tools
|
||||
MOZCE_TOOLS_BIN_DIR=$(OBJDIR)/dist/sdk/bin
|
||||
|
||||
BUILD_SWITCH=$(DEVENV_FLAG)Build
|
||||
REBUILD_SWITCH=$(DEVENV_FLAG)Rebuild
|
||||
CLEAN_SWITCH=$(DEVENV_FLAG)clean
|
||||
|
||||
ifeq ($(VCINSTALLDIR),)
|
||||
$(error Environment variable VCINSTALLDIR not set! Are you using MozillaBuild?)
|
||||
endif
|
||||
|
||||
all: output_some_env \
|
||||
$(MOZCE_TOOLS_DIR)/arm-wince-as.exe \
|
||||
$(MOZCE_TOOLS_DIR)/arm-wince-gcc.exe \
|
||||
$(MOZCE_TOOLS_DIR)/arm-wince-lib.exe \
|
||||
$(MOZCE_TOOLS_DIR)/arm-wince-link.exe \
|
||||
$(MOZCE_TOOLS_DIR)/arm-wince-res.exe
|
||||
ifeq ($(WINCE_SDK_DIR),)
|
||||
$(error Environment variable WINCE_SDK_DIR not set! It must be passed to make if not running from configure)
|
||||
endif
|
||||
|
||||
ifeq ($(MOZ_MSVCVERSION),)
|
||||
$(error Environment variable MOZ_MSVCVERSION not set! Are you using MozillaBuild?)
|
||||
endif
|
||||
|
||||
CFLAGS += \
|
||||
-DVC_PATH='"$(subst \,\\,$(VCINSTALLDIR))\\"' \
|
||||
-DWM_SDK_PATH='"$(subst \,\\,$(WINCE_SDK_DIR))\\"' \
|
||||
-DMOZCE_DEVENV='"$(MOZCE_DEVENV)"' \
|
||||
-DTOPSRCDIR='"$(TOPSRCDIR)"' \
|
||||
$(NULL)
|
||||
|
||||
ifneq ($(WINDOWSSDKDIR),)
|
||||
CFLAGS += -DWIN_SDK_PATH='"$(subst \,\\,$(WINDOWSSDKDIR))"'
|
||||
else
|
||||
ifeq ($(SDKDIR),)
|
||||
$(error Environment variable WINDOWSSDKDIR not set! Are you using MozillaBuild?)
|
||||
else
|
||||
CFLAGS += -DWIN_SDK_PATH='"$(subst \,\\,$(SDKDIR))"'
|
||||
endif
|
||||
endif
|
||||
|
||||
ifdef VPATH
|
||||
CFLAGS += -DSHUNT_INC='"$(OBJDIR)/dist/include/shunt"'
|
||||
else
|
||||
CFLAGS += -DSHUNT_INC='"$(TOPSRCDIR)/build/wince/shunt/include"'
|
||||
endif
|
||||
CFLAGS += -DEBUG -Zi
|
||||
|
||||
all: libs
|
||||
|
||||
libs: output_some_env \
|
||||
$(MOZCE_TOOLS_BIN_DIR)/arm-wince-as.exe \
|
||||
$(MOZCE_TOOLS_BIN_DIR)/arm-wince-gcc.exe \
|
||||
$(MOZCE_TOOLS_BIN_DIR)/arm-wince-lib.exe \
|
||||
$(MOZCE_TOOLS_BIN_DIR)/arm-wince-link.exe \
|
||||
$(MOZCE_TOOLS_BIN_DIR)/arm-wince-res.exe
|
||||
devenv $(MOZCE_SHUNT_SLN) $(BUILD_SWITCH) $(MOZCE_PROJECT)
|
||||
|
||||
clean: clobber
|
||||
|
||||
|
||||
clobber:
|
||||
rm -f $(MOZCE_TOOLS_DIR)/*.exe
|
||||
rm -f $(MOZCE_TOOLS_DIR)/*.obj
|
||||
rm -f *.obj
|
||||
rm -f *.exe
|
||||
rm -rf bin
|
||||
rm $(MOZCE_TOOLS_BIN_DIR)/arm-wince-as.exe
|
||||
rm $(MOZCE_TOOLS_BIN_DIR)/arm-wince-gcc.exe
|
||||
rm $(MOZCE_TOOLS_BIN_DIR)/arm-wince-lib.exe
|
||||
rm $(MOZCE_TOOLS_BIN_DIR)/arm-wince-link.exe
|
||||
rm $(MOZCE_TOOLS_BIN_DIR)/arm-wince-res.exe
|
||||
devenv $(MOZCE_SHUNT_SLN) $(CLEAN_SWITCH) $(MOZCE_PROJECT)
|
||||
|
||||
output_some_env:
|
||||
|
@ -72,28 +113,23 @@ output_some_env:
|
|||
@echo FOUND $(MOZCE_DEVENV): VSINSTALLDIR=$(VSINSTALLDIR) / MINGW32=$(MINGW32) / MSYSTEM=$(MSYSTEM)
|
||||
@echo FOUND $(MOZCE_DEVENV)
|
||||
|
||||
$(MOZCE_TOOLS_DIR)/arm-wince-as.exe: $(MOZCE_TOOLS_DIR)/arm-wince-as.c $(MOZCE_TOOLS_DIR)/toolspath.h
|
||||
$(CC) $(MOZCE_TOOLS_DIR)/arm-wince-as.c
|
||||
mkdir -p bin;
|
||||
cp arm-wince-as.exe bin; mv arm-wince-as.exe $(MOZCE_TOOLS_DIR); rm *.obj
|
||||
$(MOZCE_TOOLS_BIN_DIR)/arm-wince-as.exe: $(MOZCE_TOOLS_DIR)/arm-wince-as.c $(MOZCE_TOOLS_DIR)/toolspath.h $(MOZCE_TOOLS_DIR)/Makefile
|
||||
mkdir -p $(MOZCE_TOOLS_BIN_DIR);
|
||||
$(CC) $(CFLAGS) -Fe$@ $(MOZCE_TOOLS_DIR)/arm-wince-as.c
|
||||
|
||||
$(MOZCE_TOOLS_DIR)/arm-wince-gcc.exe: $(MOZCE_TOOLS_DIR)/arm-wince-gcc.c $(MOZCE_TOOLS_DIR)/toolspath.h
|
||||
$(CC) $(MOZCE_TOOLS_DIR)/arm-wince-gcc.c
|
||||
mkdir -p bin;
|
||||
cp arm-wince-gcc.exe bin; mv arm-wince-gcc.exe $(MOZCE_TOOLS_DIR); rm *.obj
|
||||
$(MOZCE_TOOLS_BIN_DIR)/arm-wince-gcc.exe: $(MOZCE_TOOLS_DIR)/arm-wince-gcc.c $(MOZCE_TOOLS_DIR)/toolspath.h $(MOZCE_TOOLS_DIR)/Makefile
|
||||
mkdir -p $(MOZCE_TOOLS_BIN_DIR);
|
||||
$(CC) $(CFLAGS) -Fe$@ $(MOZCE_TOOLS_DIR)/arm-wince-gcc.c
|
||||
|
||||
$(MOZCE_TOOLS_DIR)/arm-wince-lib.exe: $(MOZCE_TOOLS_DIR)/arm-wince-lib.c $(MOZCE_TOOLS_DIR)/toolspath.h
|
||||
$(CC) $(MOZCE_TOOLS_DIR)/arm-wince-lib.c
|
||||
mkdir -p bin;
|
||||
cp arm-wince-lib.exe bin; mv arm-wince-lib.exe $(MOZCE_TOOLS_DIR); rm *.obj
|
||||
$(MOZCE_TOOLS_BIN_DIR)/arm-wince-lib.exe: $(MOZCE_TOOLS_DIR)/arm-wince-lib.c $(MOZCE_TOOLS_DIR)/toolspath.h $(MOZCE_TOOLS_DIR)/Makefile
|
||||
mkdir -p $(MOZCE_TOOLS_BIN_DIR);
|
||||
$(CC) $(CFLAGS) -Fe$@ $(MOZCE_TOOLS_DIR)/arm-wince-lib.c
|
||||
|
||||
$(MOZCE_TOOLS_DIR)/arm-wince-link.exe: $(MOZCE_TOOLS_DIR)/arm-wince-link.c $(MOZCE_TOOLS_DIR)/toolspath.h
|
||||
$(CC) $(MOZCE_TOOLS_DIR)/arm-wince-link.c
|
||||
mkdir -p bin;
|
||||
cp arm-wince-link.exe bin; mv arm-wince-link.exe $(MOZCE_TOOLS_DIR); rm *.obj
|
||||
$(MOZCE_TOOLS_BIN_DIR)/arm-wince-link.exe: $(MOZCE_TOOLS_DIR)/arm-wince-link.c $(MOZCE_TOOLS_DIR)/toolspath.h $(MOZCE_TOOLS_DIR)/Makefile
|
||||
mkdir -p $(MOZCE_TOOLS_BIN_DIR);
|
||||
$(CC) $(CFLAGS) -Fe$@ $(MOZCE_TOOLS_DIR)/arm-wince-link.c
|
||||
|
||||
$(MOZCE_TOOLS_DIR)/arm-wince-res.exe: $(MOZCE_TOOLS_DIR)/arm-wince-res.c $(MOZCE_TOOLS_DIR)/toolspath.h
|
||||
$(CC) $(MOZCE_TOOLS_DIR)/arm-wince-res.c
|
||||
mkdir -p bin;
|
||||
cp arm-wince-res.exe bin; mv arm-wince-res.exe $(MOZCE_TOOLS_DIR); rm *.obj
|
||||
$(MOZCE_TOOLS_BIN_DIR)/arm-wince-res.exe: $(MOZCE_TOOLS_DIR)/arm-wince-res.c $(MOZCE_TOOLS_DIR)/toolspath.h $(MOZCE_TOOLS_DIR)/Makefile
|
||||
mkdir -p $(MOZCE_TOOLS_BIN_DIR);
|
||||
$(CC) $(CFLAGS) -Fe$@ $(MOZCE_TOOLS_DIR)/arm-wince-res.c
|
||||
|
||||
|
|
|
@ -0,0 +1,53 @@
|
|||
# ***** BEGIN LICENSE BLOCK *****
|
||||
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
#
|
||||
# The contents of this file are subject to the Mozilla Public License Version
|
||||
# 1.1 (the "License"); you may not use this file except in compliance with
|
||||
# the License. You may obtain a copy of the License at
|
||||
# http://www.mozilla.org/MPL/
|
||||
#
|
||||
# Software distributed under the License is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
# for the specific language governing rights and limitations under the
|
||||
# License.
|
||||
#
|
||||
# The Original Code is Mozilla core build scripts.
|
||||
#
|
||||
# The Initial Developer of the Original Code is
|
||||
# Brad Lassey <blassey@mozilla.com>
|
||||
#
|
||||
# Portions created by the Initial Developer are Copyright (C) 2005
|
||||
# the Mozilla Foundation <http://www.mozilla.org/>. All Rights Reserved.
|
||||
#
|
||||
# Contributor(s):
|
||||
#
|
||||
# Alternatively, the contents of this file may be used under the terms of
|
||||
# either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
# in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
# of those above. If you wish to allow use of your version of this file only
|
||||
# under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
# use your version of this file under the terms of the MPL, indicate your
|
||||
# decision by deleting the provisions above and replace them with the notice
|
||||
# and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
# the provisions above, a recipient may use your version of this file under
|
||||
# the terms of any one of the MPL, the GPL or the LGPL.
|
||||
#
|
||||
# ***** END LICENSE BLOCK *****
|
||||
|
||||
DEPTH = ../../..
|
||||
topsrcdir = @top_srcdir@
|
||||
srcdir = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
|
||||
|
||||
TOPSRCDIR = $(topsrcdir)
|
||||
OBJDIR = $(shell cd $(DEPTH); pwd -W)
|
||||
|
||||
include $(DEPTH)/config/autoconf.mk
|
||||
|
||||
include $(topsrcdir)/build/wince/tools/Makefile
|
||||
|
||||
export::
|
||||
|
||||
tools::
|
|
@ -11,7 +11,5 @@ main(int argc, char **argv)
|
|||
|
||||
i += argpath_conv(&argv[1], &args[i]);
|
||||
|
||||
dumpargs(args);
|
||||
|
||||
return run(args);
|
||||
}
|
|
@ -1,3 +1,4 @@
|
|||
|
||||
#include "toolspath.h"
|
||||
|
||||
int
|
||||
|
@ -12,7 +13,6 @@ main(int argc, char **argv)
|
|||
char outputFileArg[1000];
|
||||
|
||||
args[i++] = CL_PATH;
|
||||
args[i++] = "/I\"" WCE_INC "\"";
|
||||
args[i++] = "/I\"" SHUNT_INC "\"";
|
||||
args[i++] = "/FI\"mozce_shunt.h\"";
|
||||
|
||||
|
@ -24,8 +24,8 @@ main(int argc, char **argv)
|
|||
args[i++] = "/DWINCE";
|
||||
args[i++] = "/D_WIN32_WCE=0x502";
|
||||
args[i++] = "/DUNDER_CE";
|
||||
args[i++] = "/DWIN32_PLATFORM_WFSP";
|
||||
// args[i++] = "/DWIN32_PLATFORM_PSPC";
|
||||
// args[i++] = "/DWIN32_PLATFORM_WFSP";
|
||||
args[i++] = "/DWIN32_PLATFORM_PSPC";
|
||||
// args[i++] = "/DPOCKETPC2003_UI_MODEL";
|
||||
args[i++] = "/D_WINDOWS";
|
||||
args[i++] = "/DNO_ERRNO";
|
||||
|
@ -81,13 +81,13 @@ main(int argc, char **argv)
|
|||
args[i++] = "coredll.lib";
|
||||
|
||||
|
||||
args[i++] = "/NODEFAULTLIB:LIBC";
|
||||
//args[i++] = "/NODEFAULTLIB:LIBC";
|
||||
args[i++] = "/NODEFAULTLIB:OLDNAMES";
|
||||
|
||||
}
|
||||
|
||||
args[i] = NULL;
|
||||
|
||||
dumpargs(args);
|
||||
// dumpargs(args);
|
||||
return run(args);
|
||||
}
|
|
@ -56,7 +56,7 @@ main(int argc, char **argv)
|
|||
|
||||
argpath_conv(&argv[1], &args[i]);
|
||||
|
||||
dumpargs(args);
|
||||
// dumpargs(args);
|
||||
|
||||
return run(args);
|
||||
}
|
|
@ -10,11 +10,12 @@ main(int argc, char **argv)
|
|||
int k = 0;
|
||||
int s = 0;
|
||||
args[i++] = RC_PATH;
|
||||
// args[i++] = "/I\"" WCE_RC_INC "\"";
|
||||
args[i++] = "/I\"" WCE_RC_INC "\"";
|
||||
args[i++] = "/I\"" WM_SDK_INC "\"";
|
||||
|
||||
argpath_conv(&argv[1], &args[i]);
|
||||
|
||||
dumpargs(args);
|
||||
// dumpargs(args);
|
||||
|
||||
return run(args);
|
||||
}
|
|
@ -2,20 +2,21 @@
|
|||
#include <stdio.h>
|
||||
#include <process.h>
|
||||
|
||||
#ifndef TOPSRCDIR
|
||||
#include "../topsrcdir.h"
|
||||
#define WCE_BIN VC_PATH "ce\\bin\\x86_arm\\"
|
||||
#define WCE_RC_BIN WIN_SDK_PATH "bin\\"
|
||||
#define WCE_CRT VC_PATH "ce\\lib\\armv4i"
|
||||
#define WM_SDK_INC WM_SDK_PATH "Include/Armv4i"
|
||||
#define WCE_LIB WM_SDK_PATH "Lib/Armv4i"
|
||||
#define WCE_RC_INC VC_PATH "ce\\atlmfc\\include"
|
||||
#define WCE_INC VC_PATH "ce\\include"
|
||||
|
||||
#ifndef SHUNT_LIB
|
||||
#define SHUNT_LIB TOPSRCDIR "/build/wince/shunt/build/" MOZCE_DEVENV
|
||||
#endif
|
||||
|
||||
#define WCE_BIN "c:\\Program Files\\Microsoft Visual Studio 8\\VC\\ce\\bin\\x86_arm\\"
|
||||
#define WCE_CRT "c:\\Program Files\\Microsoft Visual Studio 8\\VC\\ce\\lib\\armv4i"
|
||||
#define WCE_INC "c:\\Program Files\\Windows Mobile 6 SDK\\PocketPC\\Include\\Armv4i"
|
||||
#define WCE_LIB "c:\\Program Files\\Windows Mobile 6 SDK\\PocketPC\\Lib\\Armv4i"
|
||||
|
||||
//#define WCE_RC_BIN "c:\\Program Files\\Microsoft Visual Studio 8\\VC\\bin\\"
|
||||
#define WCE_RC_BIN "c:\\Program Files\\Microsoft SDKs\\Windows\\v6.0\\bin\\"
|
||||
|
||||
#define SHUNT_LIB TOPSRCDIR "/build/wince/shunt/build/vs8/"
|
||||
#ifndef SHUNT_INC
|
||||
#define SHUNT_INC TOPSRCDIR "/build/wince/shunt/include/"
|
||||
#endif
|
||||
|
||||
#define ASM_PATH WCE_BIN "armasm.exe"
|
||||
#define CL_PATH WCE_BIN "cl.exe"
|
||||
|
@ -109,7 +110,7 @@ int argpath_conv(char **args_in, char **args_out)
|
|||
{
|
||||
// Deal with -OUT:/c/....
|
||||
//
|
||||
// NOTE: THERE IS A BUG IN THIS IMPLEMENTATION IF
|
||||
// NOTE: THERE IS A BUG IN THIS IMPLEMENTATION IF
|
||||
// THERE IS A SPACE IN THE TOPSRCDIR PATH.
|
||||
//
|
||||
// Should really check for spaces, then double-quote
|
||||
|
@ -231,8 +232,8 @@ DWORD run(char** args)
|
|||
_putenv("LIBPATH=");
|
||||
_putenv("CC=");
|
||||
|
||||
_putenv("INCLUDE=" WCE_INC);
|
||||
_putenv("LIB=" WCE_LIB);
|
||||
_putenv("INCLUDE=" SHUNT_INC ";" WM_SDK_INC ";" WCE_INC);
|
||||
_putenv("LIB=" WCE_LIB ";" WCE_CRT);
|
||||
|
||||
for (j=1; args[j]; j++)
|
||||
{
|
|
@ -1,93 +0,0 @@
|
|||
#include "toolspath.h"
|
||||
|
||||
int
|
||||
main(int argc, char **argv)
|
||||
{
|
||||
int startOfArgvs;
|
||||
int i = 0;
|
||||
int j = 0;
|
||||
int link = 0;
|
||||
|
||||
char* args[1000];
|
||||
char outputFileArg[1000];
|
||||
|
||||
args[i++] = CL_PATH;
|
||||
args[i++] = "/I\"" WCE_INC "\"";
|
||||
args[i++] = "/I\"" SHUNT_INC "\"";
|
||||
args[i++] = "/FI\"mozce_shunt.h\"";
|
||||
|
||||
args[i++] = "/DMOZCE_STATIC_BUILD";
|
||||
args[i++] = "/DUNICODE";
|
||||
args[i++] = "/D_UNICODE_";
|
||||
args[i++] = "/DARM";
|
||||
args[i++] = "/D_ARM_";
|
||||
args[i++] = "/DWINCE";
|
||||
args[i++] = "/D_WIN32_WCE=0x502";
|
||||
args[i++] = "/DUNDER_CE";
|
||||
args[i++] = "/DWIN32_PLATFORM_WFSP";
|
||||
// args[i++] = "/DWIN32_PLATFORM_PSPC";
|
||||
// args[i++] = "/DPOCKETPC2003_UI_MODEL";
|
||||
args[i++] = "/D_WINDOWS";
|
||||
args[i++] = "/DNO_ERRNO";
|
||||
|
||||
args[i++] = "/Zc:wchar_t-"; //
|
||||
args[i++] = "/GS-"; // disable security checks
|
||||
args[i++] = "/GR-"; // disable C++ RTTI
|
||||
args[i++] = "/fp:fast";
|
||||
|
||||
startOfArgvs = i;
|
||||
|
||||
i += argpath_conv(&argv[1], &args[i]);
|
||||
|
||||
// if /Fe is passed, then link
|
||||
//
|
||||
// if -o is passed, then blank out this argument, and place a "/Fo"
|
||||
// before the next argument
|
||||
while(argv[j])
|
||||
{
|
||||
if (strncmp(argv[j], "-o", 2) == 0)
|
||||
{
|
||||
printf("%s is -o\n",argv[j]);
|
||||
|
||||
|
||||
link = strstr(args[startOfArgvs+j], ".obj") ? 0:1;
|
||||
|
||||
|
||||
// If we are outputting a .OBJ file, then we are
|
||||
// NOT linking, and we need to do some fancy
|
||||
// footwork to output "/FoFILENAME" as an argument
|
||||
args[startOfArgvs+j-1] = "";
|
||||
strcpy(outputFileArg, ( strstr(args[startOfArgvs+j], ".exe") )?"/Fe":"/Fo");
|
||||
strcat(outputFileArg, args[startOfArgvs+j]);
|
||||
args[startOfArgvs+j] = outputFileArg;
|
||||
}
|
||||
j++;
|
||||
}
|
||||
|
||||
if (link)
|
||||
{
|
||||
args[i++] = "/link";
|
||||
|
||||
args[i++] = "/ENTRY:main";
|
||||
|
||||
args[i++] = "/SUBSYSTEM:WINDOWSCE,5.02";
|
||||
|
||||
args[i++] = "/LIBPATH:\"" WCE_LIB "\"";
|
||||
args[i++] = "/LIBPATH:\"" WCE_CRT "\"";
|
||||
args[i++] = "/LIBPATH:\"" SHUNT_LIB "\"";
|
||||
args[i++] = "mozce_shunt.lib";
|
||||
args[i++] = "winsock.lib";
|
||||
args[i++] = "corelibc.lib";
|
||||
args[i++] = "coredll.lib";
|
||||
|
||||
|
||||
args[i++] = "/NODEFAULTLIB:LIBC";
|
||||
args[i++] = "/NODEFAULTLIB:OLDNAMES";
|
||||
|
||||
}
|
||||
|
||||
args[i] = NULL;
|
||||
|
||||
dumpargs(args);
|
||||
return run(args);
|
||||
}
|
|
@ -1,62 +0,0 @@
|
|||
#include "toolspath.h"
|
||||
|
||||
int
|
||||
main(int argc, char **argv)
|
||||
{
|
||||
int iRetVal;
|
||||
char* args[1000];
|
||||
int i = 0;
|
||||
int j = 0;
|
||||
int k = 0;
|
||||
int s = 0;
|
||||
args[i++] = LINK_PATH;
|
||||
|
||||
args[i++] = "/LIBPATH:\"" WCE_LIB "\"";
|
||||
args[i++] = "/LIBPATH:\"" WCE_CRT "\"";
|
||||
args[i++] = "/LIBPATH:\"" SHUNT_LIB "\"";
|
||||
|
||||
args[i++] = "corelibc.lib";
|
||||
args[i++] = "coredll.lib";
|
||||
args[i++] = "ceshell.lib";
|
||||
args[i++] = "mmtimer.lib";
|
||||
args[i++] = "mozce_shunt.lib";
|
||||
|
||||
args[i++] = "/NODEFAULTLIB:LIBC";
|
||||
args[i++] = "/NODEFAULTLIB:OLDNAMES";
|
||||
args[i++] = "/NODEFAULTLIB:MSVCRT";
|
||||
|
||||
// if -DLL is not passed, then change the entry to 'main'
|
||||
while(argv[j]) {
|
||||
|
||||
if (strncmp(argv[j], "-DLL", 4) == 0 ||
|
||||
strncmp(argv[j], "/DLL", 4) == 0) {
|
||||
k = 1;
|
||||
}
|
||||
if (strncmp(argv[j], "-entry", 6) == 0 ||
|
||||
strncmp(argv[j], "/entry", 6) == 0 ||
|
||||
strncmp(argv[j], "-ENTRY", 6) == 0 ||
|
||||
strncmp(argv[j], "/ENTRY",6 ) == 0) {
|
||||
k = 1;
|
||||
}
|
||||
if (strncmp(argv[j], "-subsystem:", 11) == 0 ||
|
||||
strncmp(argv[j], "/subsystem:", 11) == 0 ||
|
||||
strncmp(argv[j], "-SUBSYSTEM:", 11) == 0 ||
|
||||
strncmp(argv[j], "/SUBSYSTEM:", 11) == 0) {
|
||||
s = 1;
|
||||
}
|
||||
j++;
|
||||
}
|
||||
|
||||
if (k==0)
|
||||
args[i++] = "/ENTRY:main";
|
||||
|
||||
if (s==0){
|
||||
args[i++] = "/subsystem:\"WINDOWSCE,5.02\"";
|
||||
}
|
||||
|
||||
argpath_conv(&argv[1], &args[i]);
|
||||
|
||||
dumpargs(args);
|
||||
|
||||
return run(args);
|
||||
}
|
|
@ -1,19 +0,0 @@
|
|||
#include "toolspath.h"
|
||||
|
||||
int
|
||||
main(int argc, char **argv)
|
||||
{
|
||||
int iRetVal;
|
||||
char* args[1000];
|
||||
int i = 0;
|
||||
int j = 0;
|
||||
int k = 0;
|
||||
int s = 0;
|
||||
args[i++] = RC_PATH;
|
||||
|
||||
argpath_conv(&argv[1], &args[i]);
|
||||
|
||||
dumpargs(args);
|
||||
|
||||
return run(args);
|
||||
}
|
|
@ -1,18 +0,0 @@
|
|||
REM rm arm-wince-as.exe
|
||||
REM rm arm-wince-gcc.exe
|
||||
REM rm arm-wince-lib.exe
|
||||
REM rm arm-wince-link.exe
|
||||
|
||||
rm *.obj
|
||||
rm *.ilk
|
||||
rm *.pdb
|
||||
|
||||
cl arm-wince-as.c
|
||||
cl arm-wince-gcc.c
|
||||
cl arm-wince-lib.c
|
||||
cl arm-wince-link.c
|
||||
cl arm-wince-res.c
|
||||
|
||||
rm *.obj
|
||||
rm *.ilk
|
||||
rm *.pdb
|
|
@ -1,17 +0,0 @@
|
|||
#include "toolspath.h"
|
||||
|
||||
int
|
||||
main(int argc, char **argv)
|
||||
{
|
||||
char* args[1000];
|
||||
int i = 0;
|
||||
|
||||
args[i++] = ASM_PATH;
|
||||
args[i++] = "-I\"" WCE_INC "\"";
|
||||
|
||||
i += argpath_conv(&argv[1], &args[i]);
|
||||
|
||||
dumpargs(args);
|
||||
|
||||
return run(args);
|
||||
}
|
|
@ -1,16 +0,0 @@
|
|||
#include "toolspath.h"
|
||||
|
||||
|
||||
int
|
||||
main(int argc, char **argv)
|
||||
{
|
||||
char* args[1000];
|
||||
int i = 0;
|
||||
|
||||
args[i++] = LIB_PATH;
|
||||
|
||||
argpath_conv(&argv[1], &args[i]);
|
||||
|
||||
return run(args);
|
||||
|
||||
}
|
|
@ -1,278 +0,0 @@
|
|||
#include <windows.h>
|
||||
#include <stdio.h>
|
||||
#include <process.h>
|
||||
|
||||
#ifndef TOPSRCDIR
|
||||
#include "../topsrcdir.h"
|
||||
#endif
|
||||
|
||||
#define WCE_BIN "c:\\Program Files\\Microsoft Visual Studio 9.0\\VC\\ce\\bin\\x86_arm\\"
|
||||
#define WCE_RC_BIN "c:\\Program Files\\Microsoft SDKs\\Windows\\v6.0a\\bin\\"
|
||||
//#define WCE_RC_BIN "c:\\Program Files\\Microsoft Visual Studio 9.0\\VC\\bin\\"
|
||||
#define WCE_CRT "c:\\Program Files\\Microsoft Visual Studio 9.0\\VC\\ce\\lib\\armv4i"
|
||||
#define WCE_INC "c:\\Program Files\\Windows Mobile 6 SDK\\PocketPC\\Include\\Armv4i"
|
||||
#define WCE_LIB "c:\\Program Files\\Windows Mobile 6 SDK\\PocketPC\\Lib\\Armv4i"
|
||||
#define WCE_RC_INC "C:\\Program Files\\Microsoft Visual Studio 9.0\\VC\\ce\\atlmfc\\include"
|
||||
|
||||
#define SHUNT_LIB TOPSRCDIR "/build/wince/shunt/build/vs9/"
|
||||
#define SHUNT_INC TOPSRCDIR "/build/wince/shunt/include/"
|
||||
|
||||
#define ASM_PATH WCE_BIN "armasm.exe"
|
||||
#define CL_PATH WCE_BIN "cl.exe"
|
||||
#define LIB_PATH WCE_BIN "lib.exe"
|
||||
#define LINK_PATH WCE_BIN "link.exe"
|
||||
#define RC_PATH WCE_RC_BIN "rc.exe"
|
||||
|
||||
#define MAX_NOLEAK_BUFFERS 1000
|
||||
char noleak_buffers[MAX_NOLEAK_BUFFERS][1024];
|
||||
static int next_buffer = 0;
|
||||
|
||||
int argpath_conv(char **args_in, char **args_out)
|
||||
{
|
||||
int i = 0;
|
||||
|
||||
while (args_in[i])
|
||||
{
|
||||
char *offset;
|
||||
|
||||
args_out[i] = args_in[i];
|
||||
|
||||
if (args_in[i])
|
||||
{
|
||||
// First, look for the case of "-Fo/c/xxxxxxx" and "/Fo/c/xxxxx"
|
||||
if ( (args_out[i][0] == '-' || args_out[i][0] == '/') &&
|
||||
(args_out[i][1] == 'F') && (args_out[i][2] == 'o') &&
|
||||
(args_out[i][3] == '/') && (strlen(args_out[i]) > 5) ) {
|
||||
|
||||
//printf("ARGS_IN: -FoXXXX is %s\n",args_in[i]);
|
||||
|
||||
strcpy(noleak_buffers[next_buffer], args_in[i]);
|
||||
|
||||
noleak_buffers[next_buffer][0] = '/';
|
||||
noleak_buffers[next_buffer][3] = noleak_buffers[next_buffer][4];
|
||||
noleak_buffers[next_buffer][4] = ':';
|
||||
|
||||
args_out[i] = noleak_buffers[next_buffer];
|
||||
|
||||
//printf("ARGS_OUT: -FoXXXX is %s\n",args_out[i]);
|
||||
|
||||
next_buffer++;
|
||||
}
|
||||
else if ((args_out[i][0] == '/') && (args_out[i][2] == '/'))
|
||||
{
|
||||
// Assume this is a pathname, and adjust accordingly
|
||||
//printf("ARGS_IN: PATHNAME ASSUMED: %s\n", args_in[i]);
|
||||
|
||||
strcpy(noleak_buffers[next_buffer], args_in[i]);
|
||||
|
||||
noleak_buffers[next_buffer][0] = noleak_buffers[next_buffer][1];
|
||||
noleak_buffers[next_buffer][1] = ':';
|
||||
|
||||
args_out[i] = noleak_buffers[next_buffer];
|
||||
//printf("ARGS_OUT: PATHNAME MODIFIED TO BE: %s\n", args_out[i]);
|
||||
|
||||
next_buffer++;
|
||||
}
|
||||
else if ((args_out[i][0] == '\\') && (args_out[i][2] == '\\'))
|
||||
{
|
||||
// Assume this is a pathname, and adjust accordingly
|
||||
//printf("ARGS_IN: PATHNAME ASSUMED: %s\n", args_in[i]);
|
||||
|
||||
strcpy(noleak_buffers[next_buffer], args_in[i]);
|
||||
|
||||
noleak_buffers[next_buffer][0] = noleak_buffers[next_buffer][1];
|
||||
noleak_buffers[next_buffer][1] = ':';
|
||||
|
||||
args_out[i] = noleak_buffers[next_buffer];
|
||||
//printf("ARGS_OUT: PATHNAME MODIFIED TO BE: %s\n", args_out[i]);
|
||||
|
||||
next_buffer++;
|
||||
}
|
||||
else if ((args_out[i][0] == '\\') && (args_out[i][1] == '\\') &&
|
||||
(args_out[i][3] == '\\') && (args_out[i][4] == '\\'))
|
||||
{
|
||||
// Assume this is a pathname, and adjust accordingly
|
||||
//printf("ARGS_IN: PATHNAME ASSUMED: %s\n", args_in[i]);
|
||||
|
||||
noleak_buffers[next_buffer][0] = args_in[i][2];
|
||||
noleak_buffers[next_buffer][1] = ':';
|
||||
noleak_buffers[next_buffer][2] = '\0';
|
||||
|
||||
strcpy(noleak_buffers[next_buffer], &args_in[i][3]);
|
||||
|
||||
args_out[i] = noleak_buffers[next_buffer];
|
||||
//printf("ARGS_OUT: PATHNAME MODIFIED TO BE: %s\n", args_out[i]);
|
||||
|
||||
next_buffer++;
|
||||
}
|
||||
else if ( strstr(args_out[i], "OUT:") || strstr(args_out[i], "DEF:") )
|
||||
{
|
||||
// Deal with -OUT:/c/....
|
||||
//
|
||||
// NOTE: THERE IS A BUG IN THIS IMPLEMENTATION IF
|
||||
// THERE IS A SPACE IN THE TOPSRCDIR PATH.
|
||||
//
|
||||
// Should really check for spaces, then double-quote
|
||||
// the path if any space is found.
|
||||
// -- wolfe@lobo.us 25-Aug-08
|
||||
if ((args_out[i][5] == '/') && (args_out[i][7] == '/'))
|
||||
{
|
||||
// Assume this is a pathname, and adjust accordingly
|
||||
//printf("ARGS_IN: PATHNAME ASSUMED: %s\n", args_in[i]);
|
||||
|
||||
strcpy(noleak_buffers[next_buffer], args_in[i]);
|
||||
|
||||
noleak_buffers[next_buffer][5] = noleak_buffers[next_buffer][6];
|
||||
noleak_buffers[next_buffer][6] = ':';
|
||||
|
||||
args_out[i] = noleak_buffers[next_buffer];
|
||||
//printf("ARGS_OUT: PATHNAME MODIFIED TO BE: %s\n", args_out[i]);
|
||||
}
|
||||
// Deal with -OUT:"/c/...."
|
||||
else if ((args_out[i][6] == '/') && (args_out[i][8] == '/'))
|
||||
{
|
||||
// Assume this is a pathname, and adjust accordingly
|
||||
//printf("ARGS_IN: PATHNAME ASSUMED: %s\n", args_in[i]);
|
||||
|
||||
strcpy(noleak_buffers[next_buffer], args_in[i]);
|
||||
|
||||
noleak_buffers[next_buffer][6] = noleak_buffers[next_buffer][7];
|
||||
noleak_buffers[next_buffer][7] = ':';
|
||||
|
||||
args_out[i] = noleak_buffers[next_buffer];
|
||||
//printf("ARGS_OUT: PATHNAME MODIFIED TO BE: %s\n", args_out[i]);
|
||||
}
|
||||
|
||||
next_buffer++;
|
||||
}
|
||||
else
|
||||
{
|
||||
char *offset = strstr(args_out[i], "/cygdrive/");
|
||||
|
||||
if (offset) {
|
||||
|
||||
strcpy(offset, offset+9);
|
||||
offset[0] = offset[1];
|
||||
offset[1] = ':';
|
||||
offset[2] = '/';
|
||||
}
|
||||
|
||||
if ( (args_out[i][0] == '-' || args_out[i][0] == '/') &&
|
||||
(args_out[i][1] == 'D'))
|
||||
{
|
||||
|
||||
offset = strstr(args_out[i]+2, "=");
|
||||
if (offset)
|
||||
{
|
||||
char* equalsChar = offset;
|
||||
|
||||
if (equalsChar[1] == '"')
|
||||
{
|
||||
*equalsChar = '\0';
|
||||
|
||||
strcpy(noleak_buffers[next_buffer], args_out[i]);
|
||||
|
||||
*equalsChar = '=';
|
||||
|
||||
strcat(noleak_buffers[next_buffer], "=\\\"");
|
||||
strcat(noleak_buffers[next_buffer], equalsChar+1);
|
||||
strcat(noleak_buffers[next_buffer], "\\\"");
|
||||
|
||||
args_out[i] = noleak_buffers[next_buffer];
|
||||
|
||||
next_buffer++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (next_buffer > MAX_NOLEAK_BUFFERS) {
|
||||
printf("OOPS - next_buffer > MAX_NOLEAK_BUFFERS\n");
|
||||
exit(-1);
|
||||
}
|
||||
}
|
||||
i++;
|
||||
}
|
||||
args_out[i] = NULL;
|
||||
return i;
|
||||
}
|
||||
|
||||
void dumpargs(char** args)
|
||||
{
|
||||
int i = 0;
|
||||
|
||||
if (args[0] == NULL)
|
||||
printf(":: first element is null!\n");
|
||||
|
||||
while(args[i])
|
||||
printf("%s ", args[i++]);
|
||||
|
||||
printf("\n");
|
||||
fflush(stdout);
|
||||
fflush(stderr);
|
||||
}
|
||||
|
||||
|
||||
DWORD run(char** args)
|
||||
{
|
||||
|
||||
DWORD exitCode;
|
||||
STARTUPINFO si;
|
||||
PROCESS_INFORMATION pi;
|
||||
|
||||
char theArgs[1024*16];
|
||||
|
||||
int totalLen = 0;
|
||||
int i, j;
|
||||
|
||||
|
||||
// Clear any link env variable that might get us tangled up
|
||||
_putenv("LINK=");
|
||||
_putenv("LIBPATH=");
|
||||
_putenv("CC=");
|
||||
|
||||
_putenv("INCLUDE=" WCE_INC);
|
||||
_putenv("LIB=" WCE_LIB);
|
||||
|
||||
for (j=1; args[j]; j++)
|
||||
{
|
||||
int len = strlen(args[j]);
|
||||
strcat(&theArgs[totalLen], args[j]);
|
||||
totalLen += len;
|
||||
|
||||
strcat(&theArgs[totalLen], " ");
|
||||
totalLen++;
|
||||
}
|
||||
|
||||
i = strlen(args[0]);
|
||||
for (j=0; j<i; j++)
|
||||
{
|
||||
if (args[0][j] == '/')
|
||||
args[0][j] = '\\';
|
||||
}
|
||||
|
||||
ZeroMemory( &si, sizeof(si) );
|
||||
si.cb = sizeof(si);
|
||||
ZeroMemory( &pi, sizeof(pi));
|
||||
|
||||
CreateProcess(args[0],
|
||||
theArgs,
|
||||
NULL,
|
||||
NULL,
|
||||
0,
|
||||
0,
|
||||
NULL,
|
||||
NULL,
|
||||
&si, // Pointer to STARTUPINFO structure.
|
||||
&pi);
|
||||
|
||||
|
||||
// Wait until child process exits.
|
||||
WaitForSingleObject( pi.hProcess, INFINITE );
|
||||
GetExitCodeProcess(pi.hProcess, &exitCode);
|
||||
// Close process and thread handles.
|
||||
CloseHandle( pi.hProcess );
|
||||
CloseHandle( pi.hThread );
|
||||
|
||||
return exitCode;
|
||||
}
|
|
@ -615,7 +615,7 @@ MOZ_MAPINFO = @MOZ_MAPINFO@
|
|||
MOZ_PHOENIX = @MOZ_PHOENIX@
|
||||
MOZ_XULRUNNER = @MOZ_XULRUNNER@
|
||||
WINCE = @WINCE@
|
||||
WINCE_SDK = @WINCE_SDK@
|
||||
WINCE_SDK_DIR = @WINCE_SDK_DIR@
|
||||
|
||||
MOZ_DISTRIBUTION_ID = @MOZ_DISTRIBUTION_ID@
|
||||
|
||||
|
|
29
configure.in
29
configure.in
|
@ -234,29 +234,32 @@ case "$target" in
|
|||
*wince)
|
||||
|
||||
MOZ_ARG_WITH_STRING(wince-sdk,
|
||||
[ --with-wince-sdk=WINCE_SDK
|
||||
[ --with-wince-sdk=WINCE_SDK_DIR
|
||||
The path to the windows mobile sdk],
|
||||
WINCE_SDK=$withval)
|
||||
WINCE_SDK_DIR=$withval)
|
||||
|
||||
export WINCE=1
|
||||
mk_add_options WINCE=1
|
||||
|
||||
echo -----------------------------------------------------------------------------
|
||||
echo Building Windows CE Shunt Library and Tool Chain
|
||||
echo Using SDK in:
|
||||
echo $WINCE_SDK
|
||||
echo $WINCE_SDK_DIR
|
||||
|
||||
ac_exeext=.exe
|
||||
|
||||
|
||||
rm -f $srcdir/build/wince/shunt/include/windows.h
|
||||
_pwdw=`pwd -W`
|
||||
_pwd=`pwd`
|
||||
make WINCE_SDK_DIR="$WINCE_SDK_DIR" TOPSRCDIR="$srcdir" OBJDIR="$_pwdw" -C $srcdir/build/wince/tools
|
||||
|
||||
CC="$_pwd/dist/sdk/bin/arm-wince-gcc"
|
||||
CXX="$_pwd/dist/sdk/bin/arm-wince-gcc"
|
||||
CPP="$_pwd/dist/sdk/bin/arm-wince-gcc"
|
||||
LD="$_pwd/dist/sdk/bin/arm-wince-link"
|
||||
AR="$_pwd/dist/sdk/bin/arm-wince-lib"
|
||||
AS="$_pwd/dist/sdk/bin/arm-wince-as"
|
||||
RC="$_pwd/dist/sdk/bin/arm-wince-res"
|
||||
|
||||
|
||||
echo -n "#define TOPSRCDIR \"" > $srcdir/build/wince/tools/topsrcdir.h
|
||||
echo `cd "$_topsrcdir" && pwd -W | tr '\n' '\"'` >> $srcdir/build/wince/tools/topsrcdir.h
|
||||
make -C $srcdir/build/wince/tools
|
||||
|
||||
echo "#include \"$WINCE_SDK/windows.h\"" > $srcdir/build/wince/shunt/include/windows.h
|
||||
echo "#define GetProcAddress GetProcAddressA" >> $srcdir/build/wince/shunt/include/windows.h
|
||||
echo -----------------------------------------------------------------------------
|
||||
|
||||
;;
|
||||
|
@ -7896,7 +7899,7 @@ AC_SUBST(MOZ_POST_DSO_LIB_COMMAND)
|
|||
AC_SUBST(MOZ_POST_PROGRAM_COMMAND)
|
||||
AC_SUBST(MOZ_TIMELINE)
|
||||
AC_SUBST(WINCE)
|
||||
AC_SUBST(WINCE_SDK)
|
||||
AC_SUBST(WINCE_SDK_DIR)
|
||||
AC_SUBST(TARGET_DEVICE)
|
||||
|
||||
AC_SUBST(MOZ_APP_NAME)
|
||||
|
|
Загрузка…
Ссылка в новой задаче