Skip to content

Commit

Permalink
Bug 383167 - Need buildid in an external file, r=luser sr=jst
Browse files Browse the repository at this point in the history
  • Loading branch information
bsmedberg committed Jun 25, 2007
1 parent 8b4e014 commit 7b42bb1
Show file tree
Hide file tree
Showing 30 changed files with 2,467 additions and 930 deletions.
2 changes: 1 addition & 1 deletion Makefile.in
Original file line number Diff line number Diff line change
Expand Up @@ -203,4 +203,4 @@ deliver: splitsymbols rebase signnss

endif # WINNT

BUILDID = $(shell cat $(DEPTH)/config/build_number)
BUILDID = $(shell $(PYTHON) $(srcdir)/config/printconfigsetting.py $(DIST)/bin/application.ini App BuildID)
29 changes: 13 additions & 16 deletions browser/app/Makefile.in
Original file line number Diff line number Diff line change
Expand Up @@ -65,27 +65,16 @@ DEFINES += -DAPP_VERSION="$(APP_VERSION)"
APP_UA_NAME = $(shell echo $(MOZ_APP_DISPLAYNAME) | sed -e's/[^A-Za-z]//g')
DEFINES += -DAPP_UA_NAME="$(APP_UA_NAME)"

ifdef LIBXUL_SDK
# Build application.ini for a XULRunner app

DIST_FILES = application.ini

# GRE_BUILD_ID is only available in nsBuildID.h in a form that we can't use
# directly. So munge it. Beware makefile and shell escaping
AWK_EXPR = '/\#define GRE_BUILD_ID/ { gsub(/"/, "", $$3); print $$3 }'
AWK_CMD = awk $(AWK_EXPR) < $(LIBXUL_DIST)/include/nsBuildID.h

GRE_BUILD_ID = $(shell $(AWK_CMD))

DEFINES += -DGRE_BUILD_ID=$(GRE_BUILD_ID)
GRE_MILESTONE = $(shell $(PYTHON) $(topsrcdir)/config/printconfigsetting.py $(LIBXUL_DIST)/bin/platform.ini Build Milestone)
GRE_BUILDID = $(shell $(PYTHON) $(topsrcdir)/config/printconfigsetting.py $(LIBXUL_DIST)/bin/platform.ini Build BuildID)

include $(topsrcdir)/config/rules.mk
DEFINES += -DGRE_MILESTONE=$(GRE_MILESTONE) -DGRE_BUILDID=$(GRE_BUILDID)

else
ifndef LIBXUL_SDK
# Build a binary bootstrapping with XRE_main

MOZILLA_INTERNAL_API = 1

ifeq ($(USE_SHORT_LIBNAME), 1)
PROGRAM = $(MOZ_APP_NAME)$(BIN_SUFFIX)
else
Expand All @@ -94,6 +83,7 @@ endif

REQUIRES = \
xpcom \
string \
xulapp \
$(NULL)

Expand All @@ -120,11 +110,18 @@ ifneq (,$(filter mac cocoa,$(MOZ_WIDGET_TOOLKIT)))
TK_LIBS := -framework Cocoa $(TK_LIBS)
endif

ifdef MOZ_ENABLE_LIBXUL
APP_XPCOM_LIBS = $(XPCOM_GLUE_LDOPTS)
else
MOZILLA_INTERNAL_API = 1
APP_XPCOM_LIBS = $(XPCOM_LIBS)
endif

LIBS += \
$(STATIC_COMPONENTS_LINKER_PATH) \
$(EXTRA_DSO_LIBS) \
$(MOZ_JS_LIBS) \
$(XPCOM_LIBS) \
$(APP_XPCOM_LIBS) \
$(NSPR_LIBS) \
$(TK_LIBS) \
$(NULL)
Expand Down
14 changes: 10 additions & 4 deletions browser/app/application.ini
Original file line number Diff line number Diff line change
Expand Up @@ -40,18 +40,24 @@
Vendor=Mozilla
Name=Firefox
Version=@APP_VERSION@
BuildID=@BUILD_ID@
BuildID=@GRE_BUILDID@
Copyright=Copyright (c) 1998 - 2007 mozilla.org
ID={ec8030f7-c20a-464f-9b0e-13a3a9e97384}

[Gecko]
MinVersion=@GRE_BUILD_ID@
MaxVersion=@GRE_BUILD_ID@
MinVersion=@GRE_MILESTONE@
MaxVersion=@GRE_MILESTONE@

[XRE]
EnableProfileMigrator=1
EnableExtensionManager=1

[Crash Reporter]
Enabled=0
#if MOZILLA_OFFICIAL
#if XP_WIN
Enabled=1
#elif XP_MACOSX
Enabled=1
#endif
#endif
ServerURL=https://crash-reports.mozilla.com/submit
62 changes: 41 additions & 21 deletions browser/app/nsBrowserApp.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -41,32 +41,52 @@
#include <windows.h>
#include <stdlib.h>
#endif
#include "nsBuildID.h"

static const nsXREAppData kAppData = {
sizeof(nsXREAppData),
nsnull,
"Mozilla",
"Firefox",
NS_STRINGIFY(APP_VERSION),
NS_STRINGIFY(BUILD_ID),
"{ec8030f7-c20a-464f-9b0e-13a3a9e97384}",
"Copyright (c) 1998 - 2007 mozilla.org",
NS_XRE_ENABLE_PROFILE_MIGRATOR |
NS_XRE_ENABLE_EXTENSION_MANAGER
#if defined(MOZILLA_OFFICIAL) && (defined(XP_WIN) || defined(XP_MACOSX))
| NS_XRE_ENABLE_CRASH_REPORTER
#include <stdio.h>
#include <stdarg.h>

#include "nsCOMPtr.h"
#include "nsILocalFile.h"
#include "nsStringGlue.h"

static void Output(const char *fmt, ... )
{
va_list ap;
va_start(ap, fmt);

#if defined(XP_WIN) && !MOZ_WINCONSOLE
char msg[2048];

vsnprintf(msg, sizeof(msg), fmt, ap);

MessageBox(NULL, msg, "XULRunner", MB_OK | MB_ICONERROR);
#else
vfprintf(stderr, fmt, ap);
#endif
,
nsnull, // xreDirectory
nsnull, // minVersion
nsnull, // maxVersion
"https://crash-reports.mozilla.com/submit"
};

va_end(ap);
}

int main(int argc, char* argv[])
{
return XRE_main(argc, argv, &kAppData);
nsCOMPtr<nsILocalFile> appini;
nsresult rv = XRE_GetBinaryPath(argv[0], getter_AddRefs(appini));
if (NS_FAILED(rv)) {
Output("Couldn't calculate the application directory.");
return 255;
}
appini->SetNativeLeafName(NS_LITERAL_CSTRING("application.ini"));

nsXREAppData *appData;
rv = XRE_CreateAppData(appini, &appData);
if (NS_FAILED(rv)) {
Output("Couldn't read application.ini");
return 255;
}

int result = XRE_main(argc, argv, appData);
XRE_FreeAppData(appData);
return result;
}

#if defined( XP_WIN ) && defined( WIN32 ) && !defined(__GNUC__)
Expand Down
1 change: 1 addition & 0 deletions browser/installer/unix/packages-static
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@ bin/components/libjar50.so
; [Base Browser Files]
bin/@MOZ_APP_NAME@-bin
bin/@MOZ_APP_NAME@
bin/application.ini
bin/mozilla-xremote-client
bin/run-mozilla.sh
bin/plugins/libnullplugin.so
Expand Down
1 change: 1 addition & 0 deletions browser/installer/windows/packages-static
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ bin\msvcr80.dll
[browser]
; [Base Browser Files]
bin\@[email protected]
bin\application.ini
bin\plugins\npnul32.dll
bin\res\cmessage.txt
bin\res\effective_tld_names.dat
Expand Down
29 changes: 1 addition & 28 deletions config/Makefile.in
Original file line number Diff line number Diff line change
Expand Up @@ -59,9 +59,6 @@ PLSRCS = nfspwd.pl revdepth.pl

TARGETS = $(HOST_PROGRAM) $(PLSRCS:.pl=) $(SIMPLE_PROGRAMS)

# Generate the build number on the fly.
TARGETS += build_number nsBuildID.h

ifndef CROSS_COMPILE
ifdef USE_ELF_DYNSTR_GC
TARGETS += elf-dynstr-gc
Expand Down Expand Up @@ -96,7 +93,6 @@ NSPR_CFLAGS += -I$(srcdir)/../nsprpub/pr/include/md
endif

HEADERS = \
nsBuildID.h \
$(DEPTH)/mozilla-config.h \
$(srcdir)/nsStaticComponents.h \
$(NULL)
Expand All @@ -123,35 +119,12 @@ export::
$(INSTALL) system_wrappers $(DIST)/include
endif

# we don't use an explicit dependency here because then we would
# regenerate nsBuildID.h during the make install phase and that would
# be bad.
install::
@if test ! -f nsBuildID.h; then\
echo "You must have done at least a make export before trying to do a make install."; \
echo "(nsBuildID.h is missing.)"; \
exit 1; \
fi;
$(SYSINSTALL) $(IFLAGS1) $(DEPTH)/mozilla-config.h $(DESTDIR)$(includedir)

GARBAGE += build_number nsBuildID \
GARBAGE += \
$(FINAL_LINK_COMPS) $(FINAL_LINK_LIBS) $(FINAL_LINK_COMP_NAMES)

ifneq (,$(BUILD_OFFICIAL)$(MOZILLA_OFFICIAL))
_BN_OFFICIAL=1
else
_BN_OFFICIAL=
endif

build_number: FORCE
$(PERL) -I$(srcdir) $(srcdir)/bdate.pl $@ $(_BN_OFFICIAL)

nsBuildID.h: nsBuildID.h.in build_number $(srcdir)/milestone.txt Makefile
$(RM) $@
MOZ_MILESTONE_RELEASE=$(MOZ_MILESTONE_RELEASE); \
export MOZ_MILESTONE_RELEASE; \
$(PERL) -I$(srcdir) $(srcdir)/aboutime.pl -m $(srcdir)/milestone.txt $@ build_number $(srcdir)/nsBuildID.h.in

ifndef CROSS_COMPILE
ifdef USE_ELF_DYNSTR_GC
elf-dynstr-gc: elf-dynstr-gc.c Makefile Makefile.in
Expand Down
Loading

0 comments on commit 7b42bb1

Please sign in to comment.