summaryrefslogtreecommitdiffstats
path: root/xpcom/reflect/xptcall/md/unix/moz.build
diff options
context:
space:
mode:
Diffstat (limited to 'xpcom/reflect/xptcall/md/unix/moz.build')
-rw-r--r--xpcom/reflect/xptcall/md/unix/moz.build278
1 files changed, 278 insertions, 0 deletions
diff --git a/xpcom/reflect/xptcall/md/unix/moz.build b/xpcom/reflect/xptcall/md/unix/moz.build
new file mode 100644
index 0000000000..1779c148cb
--- /dev/null
+++ b/xpcom/reflect/xptcall/md/unix/moz.build
@@ -0,0 +1,278 @@
+# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
+# vim: set filetype=python:
+# 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/.
+
+if CONFIG["OS_ARCH"] == "Darwin":
+ SOURCES += [
+ "xptcinvoke_darwin.cpp",
+ "xptcstubs_darwin.cpp",
+ ]
+ if CONFIG["CPU_ARCH"] == "ppc":
+ SOURCES += [
+ "!xptcstubs_asm_ppc_darwin.s",
+ "xptcinvoke_asm_ppc_rhapsody.s",
+ ]
+ if CONFIG["CPU_ARCH"] == "x86_64":
+ SOURCES += [
+ "xptcinvoke_asm_x86_64_unix.S",
+ ]
+ if CONFIG["CPU_ARCH"] == "aarch64":
+ SOURCES += [
+ "xptcinvoke_asm_aarch64.S",
+ "xptcstubs_asm_aarch64.S",
+ ]
+
+if CONFIG["OS_ARCH"] == "GNU":
+ if CONFIG["CPU_ARCH"] == "x86":
+ SOURCES += ["xptcinvoke_gcc_x86_unix.cpp", "xptcstubs_gcc_x86_unix.cpp"]
+
+if (
+ CONFIG["OS_ARCH"]
+ in (
+ "Linux",
+ "Bitrig",
+ "DragonFly",
+ "FreeBSD",
+ "NetBSD",
+ "OpenBSD",
+ "SunOS",
+ )
+ or CONFIG["OS_ARCH"].startswith("GNU_")
+):
+ if CONFIG["CPU_ARCH"] == "x86_64":
+ SOURCES += [
+ "xptcinvoke_asm_x86_64_unix.S",
+ "xptcinvoke_x86_64_unix.cpp",
+ "xptcstubs_x86_64_linux.cpp",
+ ]
+ elif CONFIG["CPU_ARCH"] == "x86":
+ SOURCES += ["xptcinvoke_gcc_x86_unix.cpp", "xptcstubs_gcc_x86_unix.cpp"]
+
+if CONFIG["OS_ARCH"] in ("Linux", "FreeBSD"):
+ if CONFIG["CPU_ARCH"] == "ia64":
+ SOURCES += [
+ "xptcinvoke_asm_ipf64.s",
+ "xptcinvoke_ipf64.cpp",
+ "xptcstubs_asm_ipf64.s",
+ "xptcstubs_ipf64.cpp",
+ ]
+
+if CONFIG["CPU_ARCH"] == "Alpha":
+ if CONFIG["OS_ARCH"] in ("Linux", "FreeBSD", "NetBSD"):
+ SOURCES += [
+ "xptcinvoke_linux_alpha.cpp",
+ "xptcstubs_linux_alpha.cpp",
+ ]
+ elif CONFIG["OS_ARCH"] == "OpenBSD":
+ SOURCES += [
+ "xptcinvoke_alpha_openbsd.cpp",
+ "xptcstubs_alpha_openbsd.cpp",
+ ]
+
+if CONFIG["CPU_ARCH"] == "arm":
+ if CONFIG["OS_ARCH"] == "Linux":
+ SOURCES += ["xptcinvoke_arm.cpp", "xptcstubs_arm.cpp"]
+ CXXFLAGS += ["-O2"]
+ elif CONFIG["OS_ARCH"] == "NetBSD":
+ SOURCES += [
+ "xptcinvoke_arm_netbsd.cpp",
+ "xptcstubs_arm_netbsd.cpp",
+ ]
+
+if CONFIG["CPU_ARCH"] == "arm" and CONFIG["OS_ARCH"] in ("Bitrig", "OpenBSD"):
+ SOURCES += [
+ "xptcinvoke_arm_openbsd.cpp",
+ "xptcstubs_arm_openbsd.cpp",
+ ]
+
+if CONFIG["OS_ARCH"] == "HP-UX":
+ if CONFIG["CC"] != "gcc":
+ if CONFIG["CPU_ARCH"] == "ia64":
+ SOURCES += [
+ "xptcinvoke_asm_ipf32.s",
+ "xptcinvoke_ipf32.cpp",
+ "xptcstubs_asm_ipf32.s",
+ "xptcstubs_ipf32.cpp",
+ ]
+ else:
+ SOURCES += [
+ "xptcinvoke_asm_pa32.s",
+ "xptcinvoke_pa32.cpp",
+ "xptcstubs_asm_pa32.s",
+ "xptcstubs_pa32.cpp",
+ ]
+
+if CONFIG["OS_ARCH"] == "Linux":
+ if CONFIG["CPU_ARCH"] == "hppa":
+ if CONFIG["CC_TYPE"] in ("clang", "gcc"):
+ SOURCES += [
+ "xptcinvoke_asm_parisc_linux.s",
+ "xptcinvoke_pa32.cpp",
+ "xptcstubs_asm_parisc_linux.s",
+ "xptcstubs_pa32.cpp",
+ ]
+ elif CONFIG["COMPILE_ENVIRONMENT"]:
+ error("Unknown C++ compiler, xptcall assembly will probably be incorrect.")
+
+if CONFIG["OS_ARCH"] in ("Linux", "FreeBSD", "NetBSD", "OpenBSD"):
+ if CONFIG["CPU_ARCH"] == "aarch64":
+ SOURCES += [
+ "xptcinvoke_aarch64.cpp",
+ "xptcinvoke_asm_aarch64.S",
+ "xptcstubs_aarch64.cpp",
+ "xptcstubs_asm_aarch64.S",
+ ]
+ if CONFIG["CPU_ARCH"] == "mips64":
+ SOURCES += [
+ "xptcinvoke_asm_mips64.S",
+ "xptcinvoke_mips64.cpp",
+ "xptcstubs_asm_mips64.S",
+ "xptcstubs_mips64.cpp",
+ ]
+ if CONFIG["CC_TYPE"] == "clang":
+ ASFLAGS += [
+ "-fno-integrated-as",
+ ]
+ if CONFIG["CPU_ARCH"] == "mips32":
+ SOURCES += [
+ "xptcinvoke_asm_mips.S",
+ "xptcinvoke_mips.cpp",
+ "xptcstubs_asm_mips.S",
+ "xptcstubs_mips.cpp",
+ ]
+ if CONFIG["CC_TYPE"] == "clang":
+ ASFLAGS += [
+ "-fno-integrated-as",
+ ]
+
+if CONFIG["OS_ARCH"] == "AIX":
+ if CONFIG["HAVE_64BIT_BUILD"]:
+ SOURCES += [
+ "!xptcstubs_asm_ppc_aix64.s",
+ "xptcinvoke_asm_ppc_aix64.s",
+ "xptcinvoke_ppc_aix64.cpp",
+ "xptcstubs_ppc_aix64.cpp",
+ ]
+ else:
+ SOURCES += [
+ "!xptcstubs_asm_ppc_aix.s",
+ "xptcinvoke_ppc_aix.cpp",
+ "xptcstubs_ppc_aix.cpp",
+ ]
+ if CONFIG["AIX_OBJMODEL"] == "ibm":
+ SOURCES += [
+ "xptcinvoke_asm_ppc_ibmobj_aix.s",
+ ]
+ else:
+ SOURCES += [
+ "xptcinvoke_asm_ppc_aix.s",
+ ]
+
+if CONFIG["CPU_ARCH"] == "ppc":
+ if CONFIG["OS_ARCH"] in ("Linux", "FreeBSD"):
+ SOURCES += [
+ "xptcinvoke_asm_ppc_linux.S",
+ "xptcinvoke_ppc_linux.cpp",
+ "xptcstubs_asm_ppc_linux.S",
+ "xptcstubs_ppc_linux.cpp",
+ ]
+
+if CONFIG["CPU_ARCH"] == "ppc64":
+ if CONFIG["OS_ARCH"] in ("Linux", "FreeBSD"):
+ SOURCES += [
+ "xptcinvoke_asm_ppc64_linux.S",
+ "xptcinvoke_ppc64_linux.cpp",
+ "xptcstubs_asm_ppc64_linux.S",
+ "xptcstubs_ppc64_linux.cpp",
+ ]
+ if CONFIG["CC_TYPE"] == "clang":
+ ASFLAGS += [
+ "-fno-integrated-as",
+ ]
+
+if CONFIG["OS_ARCH"] == "OpenBSD" and CONFIG["CPU_ARCH"] == "ppc":
+ SOURCES += [
+ "xptcinvoke_asm_ppc_openbsd.S",
+ "xptcinvoke_ppc_openbsd.cpp",
+ "xptcstubs_asm_ppc_openbsd.S",
+ "xptcstubs_ppc_openbsd.cpp",
+ ]
+
+if CONFIG["OS_ARCH"] == "Linux" and CONFIG["CPU_ARCH"] == "sparc":
+ SOURCES += [
+ "xptcinvoke_asm_sparc_linux_GCC3.s",
+ "xptcinvoke_sparc_solaris.cpp",
+ "xptcstubs_asm_sparc_solaris.s",
+ "xptcstubs_sparc_solaris.cpp",
+ ]
+
+if CONFIG["OS_ARCH"] == "NetBSD" and CONFIG["CPU_ARCH"] == "sparc":
+ SOURCES += [
+ "xptcinvoke_asm_sparc_netbsd.s",
+ "xptcinvoke_sparc_netbsd.cpp",
+ "xptcstubs_asm_sparc_netbsd.s",
+ "xptcstubs_sparc_netbsd.cpp",
+ ]
+
+if CONFIG["OS_ARCH"] == "OpenBSD" and CONFIG["CPU_ARCH"] == "sparc":
+ SOURCES += [
+ "xptcinvoke_asm_sparc_openbsd.s",
+ "xptcinvoke_sparc_openbsd.cpp",
+ "xptcstubs_asm_sparc_openbsd.s",
+ "xptcstubs_sparc_openbsd.cpp",
+ ]
+
+if (
+ CONFIG["OS_ARCH"] in ("OpenBSD", "FreeBSD", "Linux", "SunOS")
+ and CONFIG["CPU_ARCH"] == "sparc64"
+):
+ SOURCES += [
+ "xptcinvoke_asm_sparc64_openbsd.s",
+ "xptcinvoke_sparc64_openbsd.cpp",
+ "xptcstubs_asm_sparc64_openbsd.s",
+ "xptcstubs_sparc64_openbsd.cpp",
+ ]
+
+if CONFIG["OS_ARCH"] == "Linux":
+ if CONFIG["CPU_ARCH"] == "s390":
+ SOURCES += [
+ "xptcinvoke_linux_s390.cpp",
+ "xptcstubs_linux_s390.cpp",
+ ]
+ CXXFLAGS += [
+ "-fno-strict-aliasing",
+ "-fno-inline",
+ "-fomit-frame-pointer",
+ "-mbackchain",
+ ]
+ elif CONFIG["CPU_ARCH"] == "s390x":
+ SOURCES += [
+ "xptcinvoke_linux_s390x.cpp",
+ "xptcstubs_linux_s390x.cpp",
+ ]
+ CXXFLAGS += [
+ "-fno-strict-aliasing",
+ "-fno-inline",
+ "-fomit-frame-pointer",
+ "-mbackchain",
+ ]
+ if CONFIG["CC_TYPE"] == "clang":
+ CXXFLAGS += [
+ "-fno-integrated-as",
+ ]
+
+if CONFIG["OS_ARCH"] == "Linux" and CONFIG["CPU_ARCH"] == "riscv64":
+ SOURCES += [
+ "xptcinvoke_asm_riscv64.S",
+ "xptcinvoke_riscv64.cpp",
+ "xptcstubs_asm_riscv64.S",
+ "xptcstubs_riscv64.cpp",
+ ]
+
+FINAL_LIBRARY = "xul"
+
+LOCAL_INCLUDES += [
+ "../..",
+]