mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-02 07:05:24 +00:00
62cee4b707
- HAVE_RANDOM is not checked at all. - HAVE_STRERROR is not checked in code built using the defines from the main configure. - HAVE_LCHOWN is only checked in nsinstall.c, which means the test is also wrong since it's checking for the target instead of the host. Also, lchown is only used of the -o and -g options of nsinstall, which, as far as I know, we don't use (and if we were, that would fail with nsinstall.py, which explicitly rejects them). - HAVE_FCHMOD is only checked in nsinstall.c, so same as above about the correctness of the check. If it's not available, nsinstall.c falls back to chmod, which is fine enough for our use. - HAVE_SNPRINTF is not checked. - HAVE_MEMMOVE is checked in parser/expat/lib/xmlparse.c, but it's also unconditionally defined in expat_config.h which is included from that file. - HAVE_SETBUF is checked in a couple files, but setbuf is C89 and C99, I think it's safe to assume all compilers we support are C89 and C99. Interestingly, windows does have it, but since we skip this check on windows, we don't use it. - HAVE_ISATTY, same as HAVE_SETBUF, except it's POSIX instead of C89/C99. - HAVE_FLOCKFILE is not checked at all. - HAVE_STRTOK_R is not checked. - HAVE_FT_SELECT_SIZE is not checked. - HAVE_DLADDR is not checked under js/src. - HAVE_GETPAGESIZE is not checked under js/src (it is in libffi, but ffi uses its own configure) - HAVE_LSTAT64, HAVE_STAT64, HAVE_STATVFS, HAVE_STATVFS64, HAVE_TRUNCATE64 are not checked under js/src. - HAVE_SBRK is not checked under js/src. Moreover, js/src/assembler/wtf/Platform.h defines it depending on the platform. - HAVE_SNPRINTF is not checked under js/src. - HAVE_HYPOT is not checked under js/src. - HAVE__UNWIND_BACKTRACE is not checked under js/src.
51 lines
1.1 KiB
C++
51 lines
1.1 KiB
C++
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
|
|
* vim: set ts=2 sw=4 et tw=80:
|
|
*
|
|
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
/* XPConnect JavaScript interactive shell. */
|
|
|
|
#include <stdio.h>
|
|
|
|
#include "mozilla/WindowsDllBlocklist.h"
|
|
|
|
#include "nsXULAppAPI.h"
|
|
#ifdef XP_MACOSX
|
|
#include "xpcshellMacUtils.h"
|
|
#endif
|
|
#ifdef XP_WIN
|
|
#include <windows.h>
|
|
#include <shlobj.h>
|
|
|
|
// we want a wmain entry point
|
|
#define XRE_DONT_PROTECT_DLL_LOAD
|
|
#define XRE_WANT_ENVIRON
|
|
#include "nsWindowsWMain.cpp"
|
|
#endif
|
|
|
|
int
|
|
main(int argc, char** argv, char** envp)
|
|
{
|
|
#ifdef XP_MACOSX
|
|
InitAutoreleasePool();
|
|
#endif
|
|
|
|
// unbuffer stdout so that output is in the correct order; note that stderr
|
|
// is unbuffered by default
|
|
setbuf(stdout, 0);
|
|
|
|
#ifdef HAS_DLL_BLOCKLIST
|
|
DllBlocklist_Initialize();
|
|
#endif
|
|
|
|
int result = XRE_XPCShellMain(argc, argv, envp);
|
|
|
|
#ifdef XP_MACOSX
|
|
FinishAutoreleasePool();
|
|
#endif
|
|
|
|
return result;
|
|
}
|