mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-10-01 12:57:31 +09:00
import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo
This commit is contained in:
commit
dcd9973243
150858 changed files with 23884658 additions and 0 deletions
17
toolkit/library/Makefile.in
Normal file
17
toolkit/library/Makefile.in
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
# 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/.
|
||||
|
||||
include $(topsrcdir)/toolkit/library/libxul.mk
|
||||
|
||||
include $(topsrcdir)/config/config.mk
|
||||
|
||||
# Wrap linker to print linking status periodically to prevent the linking
|
||||
# process from getting killed
|
||||
EXPAND_LIBS_EXEC := $(PYTHON) $(topsrcdir)/config/link.py
|
||||
|
||||
include $(topsrcdir)/config/rules.mk
|
||||
|
||||
.PHONY: gtestxul
|
||||
gtestxul:
|
||||
$(MAKE) -C $(DEPTH) toolkit/library/gtest/target LINK_GTEST=1
|
||||
5
toolkit/library/StaticXULComponents.ld
Normal file
5
toolkit/library/StaticXULComponents.ld
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
SECTIONS {
|
||||
.data.rel.ro : {
|
||||
*(.kPStaticModules)
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
#include "mozilla/Module.h"
|
||||
|
||||
/* Ensure end_kPStaticModules is at the end of the .kPStaticModules section
|
||||
* on Windows. Somehow, placing the object last is not enough with PGO/LTCG. */
|
||||
#ifdef _MSC_VER
|
||||
/* Sections on Windows are in two parts, separated with $. When linking,
|
||||
* sections with the same first part are all grouped, and ordered
|
||||
* alphabetically with the second part as sort key. */
|
||||
# pragma section(".kPStaticModules$Z", read)
|
||||
# undef NSMODULE_SECTION
|
||||
# define NSMODULE_SECTION __declspec(allocate(".kPStaticModules$Z"), dllexport)
|
||||
#endif
|
||||
NSMODULE_DEFN(end_kPStaticModules) = nullptr;
|
||||
15
toolkit/library/StaticXULComponentsEnd/moz.build
Normal file
15
toolkit/library/StaticXULComponentsEnd/moz.build
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
# 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/.
|
||||
|
||||
SOURCES += [
|
||||
'StaticXULComponentsEnd.cpp',
|
||||
]
|
||||
|
||||
# Don't let LTO reorder StaticXULComponentsStart.o.
|
||||
if '-flto' in CONFIG['OS_CXXFLAGS']:
|
||||
SOURCES['StaticXULComponentsEnd.cpp'].flags += ['-fno-lto']
|
||||
|
||||
Library('StaticXULComponentsEnd')
|
||||
|
||||
DEFINES['MOZILLA_INTERNAL_API'] = True
|
||||
3
toolkit/library/StaticXULComponentsStart.cpp
Normal file
3
toolkit/library/StaticXULComponentsStart.cpp
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
#include "mozilla/Module.h"
|
||||
|
||||
NSMODULE_DEFN(start_kPStaticModules) = nullptr;
|
||||
139
toolkit/library/dependentlibs.py
Normal file
139
toolkit/library/dependentlibs.py
Normal file
|
|
@ -0,0 +1,139 @@
|
|||
# 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/.
|
||||
|
||||
'''Given a library, dependentlibs.py prints the list of libraries it depends
|
||||
upon that are in the same directory, followed by the library itself.
|
||||
'''
|
||||
|
||||
import os
|
||||
import re
|
||||
import subprocess
|
||||
import sys
|
||||
import mozpack.path as mozpath
|
||||
from collections import OrderedDict
|
||||
from mozpack.executables import (
|
||||
get_type,
|
||||
ELF,
|
||||
MACHO,
|
||||
)
|
||||
from buildconfig import substs
|
||||
|
||||
def dependentlibs_dumpbin(lib):
|
||||
'''Returns the list of dependencies declared in the given DLL'''
|
||||
try:
|
||||
proc = subprocess.Popen(['dumpbin', '-dependents', lib], stdout = subprocess.PIPE)
|
||||
except OSError:
|
||||
# dumpbin is missing, probably mingw compilation. Try using objdump.
|
||||
return dependentlibs_mingw_objdump(lib)
|
||||
deps = []
|
||||
for line in proc.stdout:
|
||||
# Each line containing an imported library name starts with 4 spaces
|
||||
match = re.match(' (\S+)', line)
|
||||
if match:
|
||||
deps.append(match.group(1))
|
||||
elif len(deps):
|
||||
# There may be several groups of library names, but only the
|
||||
# first one is interesting. The second one is for delayload-ed
|
||||
# libraries.
|
||||
break
|
||||
proc.wait()
|
||||
return deps
|
||||
|
||||
def dependentlibs_mingw_objdump(lib):
|
||||
proc = subprocess.Popen(['objdump', '-x', lib], stdout = subprocess.PIPE)
|
||||
deps = []
|
||||
for line in proc.stdout:
|
||||
match = re.match('\tDLL Name: (\S+)', line)
|
||||
if match:
|
||||
deps.append(match.group(1))
|
||||
proc.wait()
|
||||
return deps
|
||||
|
||||
def dependentlibs_readelf(lib):
|
||||
'''Returns the list of dependencies declared in the given ELF .so'''
|
||||
proc = subprocess.Popen([substs.get('TOOLCHAIN_PREFIX', '') + 'readelf', '-d', lib], stdout = subprocess.PIPE)
|
||||
deps = []
|
||||
for line in proc.stdout:
|
||||
# Each line has the following format:
|
||||
# tag (TYPE) value
|
||||
# or with BSD readelf:
|
||||
# tag TYPE value
|
||||
# Looking for NEEDED type entries
|
||||
tmp = line.split(' ', 3)
|
||||
if len(tmp) > 3 and 'NEEDED' in tmp[2]:
|
||||
# NEEDED lines look like:
|
||||
# 0x00000001 (NEEDED) Shared library: [libname]
|
||||
# or with BSD readelf:
|
||||
# 0x00000001 NEEDED Shared library: [libname]
|
||||
match = re.search('\[(.*)\]', tmp[3])
|
||||
if match:
|
||||
deps.append(match.group(1))
|
||||
proc.wait()
|
||||
return deps
|
||||
|
||||
def dependentlibs_otool(lib):
|
||||
'''Returns the list of dependencies declared in the given MACH-O dylib'''
|
||||
proc = subprocess.Popen([substs['OTOOL'], '-l', lib], stdout = subprocess.PIPE)
|
||||
deps= []
|
||||
cmd = None
|
||||
for line in proc.stdout:
|
||||
# otool -l output contains many different things. The interesting data
|
||||
# is under "Load command n" sections, with the content:
|
||||
# cmd LC_LOAD_DYLIB
|
||||
# cmdsize 56
|
||||
# name libname (offset 24)
|
||||
tmp = line.split()
|
||||
if len(tmp) < 2:
|
||||
continue
|
||||
if tmp[0] == 'cmd':
|
||||
cmd = tmp[1]
|
||||
elif cmd == 'LC_LOAD_DYLIB' and tmp[0] == 'name':
|
||||
deps.append(re.sub('^@executable_path/','',tmp[1]))
|
||||
proc.wait()
|
||||
return deps
|
||||
|
||||
def dependentlibs(lib, libpaths, func):
|
||||
'''For a given library, returns the list of recursive dependencies that can
|
||||
be found in the given list of paths, followed by the library itself.'''
|
||||
assert(libpaths)
|
||||
assert(isinstance(libpaths, list))
|
||||
deps = OrderedDict()
|
||||
for dep in func(lib):
|
||||
if dep in deps or os.path.isabs(dep):
|
||||
continue
|
||||
for dir in libpaths:
|
||||
deppath = os.path.join(dir, dep)
|
||||
if os.path.exists(deppath):
|
||||
deps.update(dependentlibs(deppath, libpaths, func))
|
||||
# Black list the ICU data DLL because preloading it at startup
|
||||
# leads to startup performance problems because of its excessive
|
||||
# size (around 10MB).
|
||||
if not dep.startswith("icu"):
|
||||
deps[dep] = deppath
|
||||
break
|
||||
|
||||
return deps
|
||||
|
||||
def gen_list(output, lib):
|
||||
libpaths = [os.path.join(substs['DIST'], 'bin')]
|
||||
binary_type = get_type(lib)
|
||||
if binary_type == ELF:
|
||||
func = dependentlibs_readelf
|
||||
elif binary_type == MACHO:
|
||||
func = dependentlibs_otool
|
||||
else:
|
||||
ext = os.path.splitext(lib)[1]
|
||||
assert(ext == '.dll')
|
||||
func = dependentlibs_dumpbin
|
||||
|
||||
deps = dependentlibs(lib, libpaths, func)
|
||||
deps[lib] = mozpath.join(libpaths[0], lib)
|
||||
output.write('\n'.join(deps.keys()) + '\n')
|
||||
return set(deps.values())
|
||||
|
||||
def main():
|
||||
gen_list(sys.stdout, sys.argv[1])
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
17
toolkit/library/dummydll/dummydll.cpp
Normal file
17
toolkit/library/dummydll/dummydll.cpp
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
/* 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/. */
|
||||
|
||||
#include <windows.h>
|
||||
|
||||
BOOL WINAPI DllMain(
|
||||
HANDLE hModule,
|
||||
DWORD dwReason,
|
||||
LPVOID lpvReserved
|
||||
)
|
||||
{
|
||||
if (dwReason == DLL_PROCESS_ATTACH) {
|
||||
::DisableThreadLibraryCalls((HMODULE)hModule);
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
19
toolkit/library/dummydll/moz.build
Normal file
19
toolkit/library/dummydll/moz.build
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
# -*- Mode: python; c-basic-offset: 4; 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/.
|
||||
|
||||
# Bug 1294650 - populate our install with a shim dll to work around a
|
||||
# 3rd party code injection crash.
|
||||
|
||||
SOURCES += [
|
||||
'dummydll.cpp',
|
||||
]
|
||||
|
||||
if CONFIG['CPU_ARCH'] == 'x86_64':
|
||||
GeckoSharedLibrary('qipcap64')
|
||||
else:
|
||||
GeckoSharedLibrary('qipcap')
|
||||
|
||||
NO_VISIBILITY_FLAGS = True
|
||||
35
toolkit/library/gtest/Makefile.in
Normal file
35
toolkit/library/gtest/Makefile.in
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
# 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/.
|
||||
|
||||
# Enforce that the clean/distclean rules removes everything that needs
|
||||
# to be removed from this directory.
|
||||
ifneq (,$(filter clean distclean,$(MAKECMDGOALS)))
|
||||
LINK_GTEST = 1
|
||||
endif
|
||||
|
||||
ifndef LINK_GTEST
|
||||
# Force to not include backend.mk unless LINK_GTEST is defined.
|
||||
# Not including backend.mk makes traversing this directory do nothing.
|
||||
STANDALONE_MAKEFILE = 1
|
||||
|
||||
else
|
||||
|
||||
include $(topsrcdir)/toolkit/library/libxul.mk
|
||||
|
||||
include $(topsrcdir)/config/config.mk
|
||||
|
||||
# Wrap linker to print linking status periodically to prevent the linking
|
||||
# process from getting killed
|
||||
EXPAND_LIBS_EXEC := $(PYTHON) $(topsrcdir)/config/link.py
|
||||
|
||||
ifdef COMPILE_ENVIRONMENT
|
||||
target:: $(DIST)/bin/dependentlibs.list.gtest
|
||||
endif
|
||||
|
||||
$(DIST)/bin/dependentlibs.list.gtest: $(DIST)/bin/dependentlibs.list
|
||||
sed -e 's|$(SHARED_LIBRARY)|gtest/$(SHARED_LIBRARY)|' $< > $@
|
||||
|
||||
LINK_PDBFILE = xul-gtest.pdb
|
||||
|
||||
endif
|
||||
30
toolkit/library/gtest/moz.build
Normal file
30
toolkit/library/gtest/moz.build
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
# -*- 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/.
|
||||
|
||||
FINAL_TARGET = 'dist/bin/gtest'
|
||||
|
||||
USE_LIBS += [
|
||||
'static:xul',
|
||||
# xul-gtest is an intermediate static library. It is used as FINAL_TARGET
|
||||
# for gtest code.
|
||||
# If the FINAL_TARGET were the library in this directory, then the gtest
|
||||
# code would end up before static:xul, and before StaticXULComponentStart,
|
||||
# which needs to stay first.
|
||||
'xul-gtest',
|
||||
]
|
||||
|
||||
# This needs to come after static:xul to avoid things like libfallible coming
|
||||
# before StaticXULComponentStart.
|
||||
Libxul('xul-gtest-real')
|
||||
|
||||
if CONFIG['MOZ_RUST']:
|
||||
USE_LIBS += [
|
||||
'gkrust-gtest',
|
||||
]
|
||||
|
||||
DIRS += [
|
||||
'static',
|
||||
]
|
||||
110
toolkit/library/gtest/rust/Cargo.lock
generated
Normal file
110
toolkit/library/gtest/rust/Cargo.lock
generated
Normal file
|
|
@ -0,0 +1,110 @@
|
|||
[root]
|
||||
name = "gkrust-gtest"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"gkrust-shared 0.1.0",
|
||||
"mp4parse-gtest 0.1.0",
|
||||
"nsstring-gtest 0.1.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "byteorder"
|
||||
version = "0.5.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
|
||||
[[package]]
|
||||
name = "gkrust-shared"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"mp4parse_capi 0.6.0",
|
||||
"nsstring 0.1.0",
|
||||
"rust_url_capi 0.0.1",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "idna"
|
||||
version = "0.1.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
dependencies = [
|
||||
"matches 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"unicode-bidi 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"unicode-normalization 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "libc"
|
||||
version = "0.2.16"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
|
||||
[[package]]
|
||||
name = "matches"
|
||||
version = "0.1.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
|
||||
[[package]]
|
||||
name = "mp4parse"
|
||||
version = "0.6.0"
|
||||
dependencies = [
|
||||
"byteorder 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "mp4parse-gtest"
|
||||
version = "0.1.0"
|
||||
|
||||
[[package]]
|
||||
name = "mp4parse_capi"
|
||||
version = "0.6.0"
|
||||
dependencies = [
|
||||
"mp4parse 0.6.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "nsstring"
|
||||
version = "0.1.0"
|
||||
|
||||
[[package]]
|
||||
name = "nsstring-gtest"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"nsstring 0.1.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "rust_url_capi"
|
||||
version = "0.0.1"
|
||||
dependencies = [
|
||||
"libc 0.2.16 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"url 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "unicode-bidi"
|
||||
version = "0.2.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
dependencies = [
|
||||
"matches 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "unicode-normalization"
|
||||
version = "0.1.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
|
||||
[[package]]
|
||||
name = "url"
|
||||
version = "1.2.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
dependencies = [
|
||||
"idna 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"matches 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
]
|
||||
|
||||
[metadata]
|
||||
"checksum byteorder 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)" = "0fc10e8cc6b2580fda3f36eb6dc5316657f812a3df879a44a66fc9f0fdbc4855"
|
||||
"checksum idna 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1053236e00ce4f668aeca4a769a09b3bf5a682d802abd6f3cb39374f6b162c11"
|
||||
"checksum libc 0.2.16 (registry+https://github.com/rust-lang/crates.io-index)" = "408014cace30ee0f767b1c4517980646a573ec61a57957aeeabcac8ac0a02e8d"
|
||||
"checksum matches 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "bcc3ad8109fa4b522f9b0cd81440422781f564aaf8c195de6b9d6642177ad0dd"
|
||||
"checksum unicode-bidi 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "c1f7ceb96afdfeedee42bade65a0d585a6a0106f681b6749c8ff4daa8df30b3f"
|
||||
"checksum unicode-normalization 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "26643a2f83bac55f1976fb716c10234485f9202dcd65cfbdf9da49867b271172"
|
||||
"checksum url 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "8527c62d9869a08325c38272b3f85668df22a65890c61a639d233dc0ed0b23a2"
|
||||
44
toolkit/library/gtest/rust/Cargo.toml
Normal file
44
toolkit/library/gtest/rust/Cargo.toml
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
[package]
|
||||
name = "gkrust-gtest"
|
||||
version = "0.1.0"
|
||||
authors = ["nobody@mozilla.org"]
|
||||
license = "MPL-2.0"
|
||||
description = "Testing code for libgkrust"
|
||||
|
||||
[dependencies]
|
||||
mp4parse-gtest = { path = "../../../../dom/media/gtest" }
|
||||
nsstring-gtest = { path = "../../../../xpcom/rust/nsstring/gtest" }
|
||||
gkrust-shared = { path = "../../rust/shared" }
|
||||
|
||||
[lib]
|
||||
path = "lib.rs"
|
||||
crate-type = ["staticlib"]
|
||||
test = false
|
||||
doctest = false
|
||||
bench = false
|
||||
doc = false
|
||||
plugin = false
|
||||
harness = false
|
||||
|
||||
# Explicitly specify what our profiles use.
|
||||
[profile.dev]
|
||||
opt-level = 1
|
||||
debug = true
|
||||
rpath = false
|
||||
lto = false
|
||||
debug-assertions = true
|
||||
codegen-units = 1
|
||||
panic = "abort"
|
||||
|
||||
[profile.release]
|
||||
opt-level = 2
|
||||
debug = true
|
||||
rpath = false
|
||||
# This would normally be 'true' for release configurations, but using LTO on
|
||||
# rul-gtest causes link failures due to symbols also being found in libxul's
|
||||
# librul.a. But LTO'ing things here is not crucial and not LTO'ing things
|
||||
# enables us to link libxul-gtest, so we leave it turned off.
|
||||
lto = false
|
||||
debug-assertions = false
|
||||
codegen-units = 1
|
||||
panic = "abort"
|
||||
7
toolkit/library/gtest/rust/lib.rs
Normal file
7
toolkit/library/gtest/rust/lib.rs
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
// 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/.
|
||||
|
||||
extern crate gkrust_shared;
|
||||
extern crate mp4parse_gtest;
|
||||
extern crate nsstring_gtest;
|
||||
7
toolkit/library/gtest/rust/moz.build
Normal file
7
toolkit/library/gtest/rust/moz.build
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
# -*- Mode: python; c-basic-offset: 4; 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/.
|
||||
|
||||
RustLibrary('gkrust-gtest')
|
||||
9
toolkit/library/gtest/static/moz.build
Normal file
9
toolkit/library/gtest/static/moz.build
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
# -*- 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/.
|
||||
|
||||
Library('xul-gtest')
|
||||
|
||||
Libxul_defines()
|
||||
65
toolkit/library/libxul.mk
Normal file
65
toolkit/library/libxul.mk
Normal file
|
|
@ -0,0 +1,65 @@
|
|||
# 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/.
|
||||
|
||||
EXTRA_DEPS += $(topsrcdir)/toolkit/library/libxul.mk
|
||||
|
||||
ifeq (Linux,$(OS_ARCH))
|
||||
ifneq (Android,$(OS_TARGET))
|
||||
OS_LDFLAGS += -Wl,-version-script,symverscript
|
||||
|
||||
symverscript: $(topsrcdir)/toolkit/library/symverscript.in
|
||||
$(call py_action,preprocessor, \
|
||||
-DVERSION='xul$(MOZILLA_SYMBOLVERSION)' $< -o $@)
|
||||
|
||||
EXTRA_DEPS += symverscript
|
||||
endif
|
||||
endif
|
||||
|
||||
ifdef MOZ_WEBRTC
|
||||
ifeq (WINNT,$(OS_TARGET))
|
||||
ifndef MOZ_HAS_WINSDK_WITH_D3D
|
||||
OS_LDFLAGS += \
|
||||
-LIBPATH:'$(MOZ_DIRECTX_SDK_PATH)/lib/$(MOZ_D3D_CPU_SUFFIX)' \
|
||||
$(NULL)
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
# Generate GDB pretty printer-autoload files only on Linux. OSX's GDB is
|
||||
# too old to support Python pretty-printers; if this changes, we could make
|
||||
# this 'ifdef GNU_CC'.
|
||||
ifeq (Linux,$(OS_ARCH))
|
||||
# Create a GDB Python auto-load file alongside the libxul shared library in
|
||||
# the build directory.
|
||||
PP_TARGETS += LIBXUL_AUTOLOAD
|
||||
LIBXUL_AUTOLOAD = $(topsrcdir)/toolkit/library/libxul.so-gdb.py.in
|
||||
LIBXUL_AUTOLOAD_FLAGS := -Dtopsrcdir=$(abspath $(topsrcdir))
|
||||
endif
|
||||
|
||||
# BFD ld doesn't create multiple PT_LOADs as usual when an unknown section
|
||||
# exists. Using an implicit linker script to make it fold that section in
|
||||
# .data.rel.ro makes it create multiple PT_LOADs. That implicit linker
|
||||
# script however makes gold misbehave, first because it doesn't like that
|
||||
# the linker script is given after crtbegin.o, and even past that, replaces
|
||||
# the default section rules with those from the script instead of
|
||||
# supplementing them. Which leads to a lib with a huge load of sections.
|
||||
ifneq (OpenBSD,$(OS_TARGET))
|
||||
ifneq (WINNT,$(OS_TARGET))
|
||||
ifdef LD_IS_BFD
|
||||
OS_LDFLAGS += $(topsrcdir)/toolkit/library/StaticXULComponents.ld
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
ifdef _MSC_VER
|
||||
get_first_and_last = dumpbin -exports $1 | grep _NSModule@@ | sort -k 3 | sed -n 's/^.*?\([^@]*\)@@.*$$/\1/;1p;$$p'
|
||||
else
|
||||
get_first_and_last = $(TOOLCHAIN_PREFIX)nm -g $1 | grep _NSModule$$ | grep -vw refptr | sort | sed -n 's/^.* _*\([^ ]*\)$$/\1/;1p;$$p'
|
||||
endif
|
||||
|
||||
LOCAL_CHECKS = test "$$($(get_first_and_last) | xargs echo)" != "start_kPStaticModules_NSModule end_kPStaticModules_NSModule" && echo "NSModules are not ordered appropriately" && exit 1 || exit 0
|
||||
|
||||
ifeq (Linux,$(OS_ARCH))
|
||||
LOCAL_CHECKS += ; test "$$($(TOOLCHAIN_PREFIX)readelf -l $1 | awk '$1 == "LOAD" { t += 1 } END { print t }')" -le 1 && echo "Only one PT_LOAD segment" && exit 1 || exit 0
|
||||
endif
|
||||
8
toolkit/library/libxul.so-gdb.py.in
Normal file
8
toolkit/library/libxul.so-gdb.py.in
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
""" GDB Python customization auto-loader for libxul """
|
||||
#filter substitution
|
||||
|
||||
import os.path
|
||||
sys.path[0:0] = [os.path.join('@topsrcdir@', 'js', 'src', 'gdb')]
|
||||
|
||||
import mozilla.autoload
|
||||
mozilla.autoload.register(gdb.current_objfile())
|
||||
402
toolkit/library/moz.build
Normal file
402
toolkit/library/moz.build
Normal file
|
|
@ -0,0 +1,402 @@
|
|||
# -*- 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/.
|
||||
|
||||
@template
|
||||
def Libxul_defines():
|
||||
LIBRARY_DEFINES['MOZILLA_INTERNAL_API'] = True
|
||||
LIBRARY_DEFINES['IMPL_LIBXUL'] = True
|
||||
if not CONFIG['JS_SHARED_LIBRARY']:
|
||||
LIBRARY_DEFINES['STATIC_EXPORTABLE_JS_API'] = True
|
||||
|
||||
@template
|
||||
def Libxul(name):
|
||||
if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('cocoa', 'uikit'):
|
||||
# This is going to be a framework named "XUL", not an ordinary library named
|
||||
# "libxul.dylib"
|
||||
GeckoFramework(name, linkage=None)
|
||||
SHARED_LIBRARY_NAME = 'XUL'
|
||||
else:
|
||||
GeckoSharedLibrary(name, linkage=None)
|
||||
SHARED_LIBRARY_NAME = 'xul'
|
||||
|
||||
DELAYLOAD_DLLS += [
|
||||
'comdlg32.dll',
|
||||
'dbghelp.dll',
|
||||
'netapi32.dll',
|
||||
'PowrProf.dll',
|
||||
'psapi.dll',
|
||||
'rasapi32.dll',
|
||||
'rasdlg.dll',
|
||||
'secur32.dll',
|
||||
'wininet.dll',
|
||||
'winspool.drv'
|
||||
]
|
||||
|
||||
if CONFIG['ACCESSIBILITY']:
|
||||
DELAYLOAD_DLLS += ['oleacc.dll']
|
||||
|
||||
if CONFIG['MOZ_WEBRTC']:
|
||||
DELAYLOAD_DLLS += ['msdmo.dll']
|
||||
|
||||
if CONFIG['OS_ARCH'] == 'WINNT':
|
||||
DELAYLOAD_DLLS += [
|
||||
'api-ms-win-core-winrt-l1-1-0.dll',
|
||||
'api-ms-win-core-winrt-string-l1-1-0.dll',
|
||||
]
|
||||
|
||||
if CONFIG['OS_ARCH'] == 'WINNT' and not CONFIG['GNU_CC']:
|
||||
LOCAL_INCLUDES += [
|
||||
'/widget/windows',
|
||||
'/xpcom/base',
|
||||
]
|
||||
# config/version.mk says $(srcdir)/$(RCINCLUDE), and this needs to
|
||||
# be valid in both toolkit/library and toolkit/library/gtest.
|
||||
# Eventually, the make backend would do its own path canonicalization
|
||||
# and config/version.mk would lift the $(srcdir)
|
||||
RCINCLUDE = '$(DEPTH)/toolkit/library/xulrunner.rc'
|
||||
|
||||
Libxul_defines()
|
||||
|
||||
if CONFIG['MOZ_NEEDS_LIBATOMIC']:
|
||||
OS_LIBS += ['atomic']
|
||||
|
||||
# This option should go away in bug 1290972, but we need to wait until
|
||||
# Rust 1.12 has been released.
|
||||
if CONFIG['MOZ_RUST'] and CONFIG['OS_ARCH'] == 'Darwin':
|
||||
LDFLAGS += ['-Wl,-no_compact_unwind']
|
||||
|
||||
Libxul('xul')
|
||||
|
||||
SDK_LIBRARY = True
|
||||
|
||||
FORCE_STATIC_LIB = True
|
||||
|
||||
STATIC_LIBRARY_NAME = 'xul_s'
|
||||
|
||||
SOURCES += [
|
||||
'StaticXULComponentsStart.cpp',
|
||||
]
|
||||
|
||||
# This, combined with the fact the file is first, makes the start pointer
|
||||
# it contains first in Windows PGO builds.
|
||||
SOURCES['StaticXULComponentsStart.cpp'].no_pgo = True
|
||||
|
||||
# Don't let LTO reorder StaticXULComponentsStart.o.
|
||||
if '-flto' in CONFIG['OS_CXXFLAGS']:
|
||||
SOURCES['StaticXULComponentsStart.cpp'].flags += ['-fno-lto']
|
||||
|
||||
if CONFIG['OS_ARCH'] == 'WINNT':
|
||||
SOURCES += [
|
||||
'nsDllMain.cpp',
|
||||
]
|
||||
|
||||
LOCAL_INCLUDES += [
|
||||
'/config',
|
||||
# need widget/windows for resource.h (included from widget.rc)
|
||||
'/widget/windows',
|
||||
]
|
||||
|
||||
if CONFIG['OS_ARCH'] == 'WINNT' and not CONFIG['GNU_CC']:
|
||||
LOCAL_INCLUDES += [
|
||||
'/xpcom/base',
|
||||
]
|
||||
|
||||
DIRS += ['gtest']
|
||||
|
||||
if CONFIG['OS_ARCH'] == 'WINNT':
|
||||
DIRS += ['dummydll']
|
||||
|
||||
# js needs to come after xul for now, because it is an archive and its content
|
||||
# is discarded when it comes first.
|
||||
USE_LIBS += [
|
||||
'js',
|
||||
]
|
||||
|
||||
USE_LIBS += [
|
||||
'gkmedias',
|
||||
'lgpllibs',
|
||||
'nspr',
|
||||
'nss',
|
||||
'psshparser',
|
||||
'sqlite',
|
||||
'zlib',
|
||||
]
|
||||
|
||||
if CONFIG['USE_ICU']:
|
||||
USE_LIBS += [
|
||||
'icu',
|
||||
]
|
||||
|
||||
if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gtk3':
|
||||
USE_LIBS += [
|
||||
'mozgtk_stub',
|
||||
]
|
||||
|
||||
if CONFIG['MOZ_JPROF']:
|
||||
USE_LIBS += [
|
||||
'jprof',
|
||||
]
|
||||
|
||||
if 'gtk' in CONFIG['MOZ_WIDGET_TOOLKIT'] or \
|
||||
CONFIG['MOZ_TREE_FREETYPE']:
|
||||
USE_LIBS += [
|
||||
'freetype',
|
||||
]
|
||||
|
||||
if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
|
||||
CXXFLAGS += CONFIG['TK_CFLAGS']
|
||||
|
||||
if CONFIG['MOZ_WEBRTC']:
|
||||
if CONFIG['OS_TARGET'] == 'WINNT':
|
||||
OS_LIBS += [
|
||||
'secur32',
|
||||
'iphlpapi',
|
||||
'strmiids',
|
||||
'dmoguids',
|
||||
'wmcodecdspuuid',
|
||||
'amstrmid',
|
||||
'msdmo',
|
||||
'wininet',
|
||||
]
|
||||
|
||||
if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
|
||||
OS_LIBS += [
|
||||
'-framework OpenGL',
|
||||
'-framework SystemConfiguration',
|
||||
'-framework AVFoundation',
|
||||
'-framework CoreMedia',
|
||||
'-framework IOKit',
|
||||
'-F%s' % CONFIG['MACOS_PRIVATE_FRAMEWORKS_DIR'],
|
||||
'-framework CoreUI',
|
||||
'-framework CoreSymbolication',
|
||||
'cups',
|
||||
]
|
||||
|
||||
if CONFIG['MOZ_WMF']:
|
||||
OS_LIBS += [
|
||||
'mfuuid',
|
||||
'wmcodecdspuuid',
|
||||
'strmiids',
|
||||
]
|
||||
|
||||
if CONFIG['MOZ_DIRECTSHOW']:
|
||||
OS_LIBS += [
|
||||
'dmoguids',
|
||||
'wmcodecdspuuid',
|
||||
'strmiids',
|
||||
'msdmo',
|
||||
]
|
||||
|
||||
if CONFIG['OS_ARCH'] == 'FreeBSD':
|
||||
OS_LIBS += [
|
||||
'util',
|
||||
]
|
||||
|
||||
if CONFIG['OS_ARCH'] == 'WINNT':
|
||||
OS_LIBS += [
|
||||
'crypt32',
|
||||
'shell32',
|
||||
'ole32',
|
||||
'version',
|
||||
'winspool',
|
||||
]
|
||||
|
||||
if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gonk':
|
||||
OS_LIBS += [
|
||||
'dbus',
|
||||
]
|
||||
|
||||
if CONFIG['OS_ARCH'] == 'Linux' and CONFIG['OS_TARGET'] != 'Android':
|
||||
OS_LIBS += [
|
||||
'rt',
|
||||
]
|
||||
|
||||
OS_LIBS += CONFIG['MOZ_CAIRO_OSLIBS']
|
||||
OS_LIBS += CONFIG['MOZ_WEBRTC_X11_LIBS']
|
||||
|
||||
if CONFIG['SERVO_TARGET_DIR']:
|
||||
if CONFIG['_MSC_VER']:
|
||||
OS_LIBS += ['%s/geckoservo' % CONFIG['SERVO_TARGET_DIR']]
|
||||
else:
|
||||
OS_LIBS += ['-L%s' % CONFIG['SERVO_TARGET_DIR'], '-lgeckoservo']
|
||||
|
||||
if CONFIG['MOZ_SYSTEM_JPEG']:
|
||||
OS_LIBS += CONFIG['MOZ_JPEG_LIBS']
|
||||
|
||||
if CONFIG['MOZ_SYSTEM_PNG']:
|
||||
OS_LIBS += CONFIG['MOZ_PNG_LIBS']
|
||||
|
||||
if CONFIG['MOZ_SYSTEM_HUNSPELL']:
|
||||
OS_LIBS += CONFIG['MOZ_HUNSPELL_LIBS']
|
||||
|
||||
if CONFIG['MOZ_SYSTEM_LIBEVENT']:
|
||||
OS_LIBS += CONFIG['MOZ_LIBEVENT_LIBS']
|
||||
|
||||
if CONFIG['MOZ_SYSTEM_LIBVPX']:
|
||||
OS_LIBS += CONFIG['MOZ_LIBVPX_LIBS']
|
||||
|
||||
if not CONFIG['MOZ_TREE_PIXMAN']:
|
||||
OS_LIBS += CONFIG['MOZ_PIXMAN_LIBS']
|
||||
|
||||
if CONFIG['MOZ_ALSA']:
|
||||
OS_LIBS += CONFIG['MOZ_ALSA_LIBS']
|
||||
|
||||
if CONFIG['HAVE_CLOCK_MONOTONIC']:
|
||||
OS_LIBS += CONFIG['REALTIME_LIBS']
|
||||
|
||||
if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'android':
|
||||
OS_LIBS += [
|
||||
'GLESv2',
|
||||
]
|
||||
|
||||
if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gonk':
|
||||
OS_LIBS += [
|
||||
'ui',
|
||||
'media',
|
||||
'hardware_legacy',
|
||||
'hardware',
|
||||
'utils',
|
||||
'cutils',
|
||||
'sysutils',
|
||||
'camera_client',
|
||||
'sensorservice',
|
||||
'stagefright',
|
||||
'stagefright_foundation',
|
||||
'stagefright_omx',
|
||||
'binder',
|
||||
'gui',
|
||||
'mtp',
|
||||
]
|
||||
|
||||
if int(CONFIG['ANDROID_VERSION']) >= 17:
|
||||
OS_LIBS += [
|
||||
'sync',
|
||||
]
|
||||
|
||||
if CONFIG['ANDROID_VERSION'] >= '16':
|
||||
OS_LIBS += [
|
||||
'mdnssd',
|
||||
]
|
||||
|
||||
if 'rtsp' in CONFIG['NECKO_PROTOCOLS']:
|
||||
OS_LIBS += [
|
||||
'stagefright_foundation',
|
||||
]
|
||||
|
||||
OS_LIBS += CONFIG['ICONV_LIBS']
|
||||
|
||||
if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('cocoa', 'uikit'):
|
||||
OS_LIBS += CONFIG['TK_LIBS']
|
||||
|
||||
if CONFIG['OS_ARCH'] == 'OpenBSD':
|
||||
OS_LIBS += [
|
||||
'sndio',
|
||||
]
|
||||
|
||||
if CONFIG['MOZ_ENABLE_DBUS']:
|
||||
OS_LIBS += CONFIG['MOZ_DBUS_GLIB_LIBS']
|
||||
|
||||
if 'gtk' in CONFIG['MOZ_WIDGET_TOOLKIT']:
|
||||
if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gtk3':
|
||||
OS_LIBS += [l for l in CONFIG['TK_LIBS']
|
||||
if l not in ('-lgtk-3', '-lgdk-3')]
|
||||
else:
|
||||
OS_LIBS += CONFIG['TK_LIBS']
|
||||
OS_LIBS += CONFIG['XLDFLAGS']
|
||||
OS_LIBS += CONFIG['XLIBS']
|
||||
OS_LIBS += CONFIG['XEXT_LIBS']
|
||||
OS_LIBS += CONFIG['MOZ_PANGO_LIBS']
|
||||
OS_LIBS += CONFIG['XT_LIBS']
|
||||
OS_LIBS += [
|
||||
'gthread-2.0',
|
||||
]
|
||||
|
||||
if CONFIG['MOZ_ENABLE_STARTUP_NOTIFICATION']:
|
||||
OS_LIBS += CONFIG['MOZ_STARTUP_NOTIFICATION_LIBS']
|
||||
|
||||
if CONFIG['MOZ_ENABLE_LIBPROXY']:
|
||||
OS_LIBS += CONFIG['MOZ_LIBPROXY_LIBS']
|
||||
|
||||
if CONFIG['OS_ARCH'] == 'SunOS':
|
||||
OS_LIBS += [
|
||||
'elf',
|
||||
]
|
||||
if CONFIG['GNU_CC']:
|
||||
OS_LIBS += [
|
||||
'demangle',
|
||||
]
|
||||
|
||||
if CONFIG['OS_ARCH'] == 'FreeBSD':
|
||||
OS_LIBS += [
|
||||
'util',
|
||||
]
|
||||
|
||||
if CONFIG['OS_ARCH'] == 'WINNT':
|
||||
OS_LIBS += [
|
||||
'shell32',
|
||||
'ole32',
|
||||
'version',
|
||||
'winspool',
|
||||
'comdlg32',
|
||||
'imm32',
|
||||
'msimg32',
|
||||
'netapi32',
|
||||
'shlwapi',
|
||||
'psapi',
|
||||
'ws2_32',
|
||||
'dbghelp',
|
||||
'rasapi32',
|
||||
'rasdlg',
|
||||
'iphlpapi',
|
||||
'uxtheme',
|
||||
'setupapi',
|
||||
'secur32',
|
||||
'sensorsapi',
|
||||
'portabledeviceguids',
|
||||
'windowscodecs',
|
||||
'wininet',
|
||||
'wbemuuid',
|
||||
'wintrust',
|
||||
'wtsapi32',
|
||||
'locationapi',
|
||||
'sapi',
|
||||
'dxguid',
|
||||
]
|
||||
if CONFIG['ACCESSIBILITY']:
|
||||
OS_LIBS += [
|
||||
'oleacc',
|
||||
]
|
||||
|
||||
if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'windows':
|
||||
OS_LIBS += [
|
||||
'usp10',
|
||||
'oleaut32',
|
||||
]
|
||||
|
||||
if CONFIG['COMPILE_ENVIRONMENT']:
|
||||
if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('cocoa', 'uikit'):
|
||||
full_libname = SHARED_LIBRARY_NAME
|
||||
else:
|
||||
full_libname = '%s%s%s' % (
|
||||
CONFIG['DLL_PREFIX'],
|
||||
LIBRARY_NAME,
|
||||
CONFIG['DLL_SUFFIX']
|
||||
)
|
||||
GENERATED_FILES += ['dependentlibs.list']
|
||||
GENERATED_FILES['dependentlibs.list'].script = 'dependentlibs.py:gen_list'
|
||||
GENERATED_FILES['dependentlibs.list'].inputs = [
|
||||
'!%s' % full_libname,
|
||||
]
|
||||
FINAL_TARGET_FILES += ['!dependentlibs.list']
|
||||
|
||||
# This library needs to be last to make XPCOM module registration work.
|
||||
USE_LIBS += ['StaticXULComponentsEnd']
|
||||
|
||||
# The above library needs to be last for C++ purposes. This library,
|
||||
# however, is entirely composed of Rust code, and needs to come after
|
||||
# all the C++ code so any possible C++ -> Rust calls can be resolved.
|
||||
if CONFIG['MOZ_RUST']:
|
||||
USE_LIBS += ['gkrust']
|
||||
43
toolkit/library/nsDllMain.cpp
Normal file
43
toolkit/library/nsDllMain.cpp
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||
/* 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/. */
|
||||
|
||||
#include <windows.h>
|
||||
#include "nsToolkit.h"
|
||||
#include "mozilla/Assertions.h"
|
||||
#include "mozilla/WindowsVersion.h"
|
||||
|
||||
#if defined(__GNUC__)
|
||||
// If DllMain gets name mangled, it won't be seen.
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
BOOL APIENTRY DllMain(
|
||||
HINSTANCE hModule,
|
||||
DWORD reason,
|
||||
LPVOID lpReserved )
|
||||
{
|
||||
switch( reason ) {
|
||||
case DLL_PROCESS_ATTACH:
|
||||
nsToolkit::Startup((HINSTANCE)hModule);
|
||||
break;
|
||||
|
||||
case DLL_THREAD_ATTACH:
|
||||
break;
|
||||
|
||||
case DLL_THREAD_DETACH:
|
||||
break;
|
||||
|
||||
case DLL_PROCESS_DETACH:
|
||||
nsToolkit::Shutdown();
|
||||
break;
|
||||
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
#if defined(__GNUC__)
|
||||
} // extern "C"
|
||||
#endif
|
||||
97
toolkit/library/rust/Cargo.lock
generated
Normal file
97
toolkit/library/rust/Cargo.lock
generated
Normal file
|
|
@ -0,0 +1,97 @@
|
|||
[root]
|
||||
name = "gkrust"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"gkrust-shared 0.1.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "byteorder"
|
||||
version = "0.5.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
|
||||
[[package]]
|
||||
name = "gkrust-shared"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"mp4parse_capi 0.6.0",
|
||||
"nsstring 0.1.0",
|
||||
"rust_url_capi 0.0.1",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "idna"
|
||||
version = "0.1.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
dependencies = [
|
||||
"matches 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"unicode-bidi 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"unicode-normalization 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "libc"
|
||||
version = "0.2.16"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
|
||||
[[package]]
|
||||
name = "matches"
|
||||
version = "0.1.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
|
||||
[[package]]
|
||||
name = "mp4parse"
|
||||
version = "0.6.0"
|
||||
dependencies = [
|
||||
"byteorder 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "mp4parse_capi"
|
||||
version = "0.6.0"
|
||||
dependencies = [
|
||||
"mp4parse 0.6.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "nsstring"
|
||||
version = "0.1.0"
|
||||
|
||||
[[package]]
|
||||
name = "rust_url_capi"
|
||||
version = "0.0.1"
|
||||
dependencies = [
|
||||
"libc 0.2.16 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"url 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "unicode-bidi"
|
||||
version = "0.2.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
dependencies = [
|
||||
"matches 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "unicode-normalization"
|
||||
version = "0.1.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
|
||||
[[package]]
|
||||
name = "url"
|
||||
version = "1.2.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
dependencies = [
|
||||
"idna 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"matches 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
]
|
||||
|
||||
[metadata]
|
||||
"checksum byteorder 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)" = "0fc10e8cc6b2580fda3f36eb6dc5316657f812a3df879a44a66fc9f0fdbc4855"
|
||||
"checksum idna 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1053236e00ce4f668aeca4a769a09b3bf5a682d802abd6f3cb39374f6b162c11"
|
||||
"checksum libc 0.2.16 (registry+https://github.com/rust-lang/crates.io-index)" = "408014cace30ee0f767b1c4517980646a573ec61a57957aeeabcac8ac0a02e8d"
|
||||
"checksum matches 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "bcc3ad8109fa4b522f9b0cd81440422781f564aaf8c195de6b9d6642177ad0dd"
|
||||
"checksum unicode-bidi 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "c1f7ceb96afdfeedee42bade65a0d585a6a0106f681b6749c8ff4daa8df30b3f"
|
||||
"checksum unicode-normalization 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "26643a2f83bac55f1976fb716c10234485f9202dcd65cfbdf9da49867b271172"
|
||||
"checksum url 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "8527c62d9869a08325c38272b3f85668df22a65890c61a639d233dc0ed0b23a2"
|
||||
37
toolkit/library/rust/Cargo.toml
Normal file
37
toolkit/library/rust/Cargo.toml
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
[package]
|
||||
name = "gkrust"
|
||||
version = "0.1.0"
|
||||
authors = ["nobody@mozilla.org"]
|
||||
license = "MPL-2.0"
|
||||
description = "Rust code for libxul"
|
||||
|
||||
[dependencies]
|
||||
gkrust-shared = { path = "shared" }
|
||||
|
||||
[lib]
|
||||
path = "lib.rs"
|
||||
crate-type = ["staticlib"]
|
||||
test = false
|
||||
doctest = false
|
||||
bench = false
|
||||
doc = false
|
||||
plugin = false
|
||||
harness = false
|
||||
|
||||
# Explicitly specify what our profiles use.
|
||||
[profile.dev]
|
||||
opt-level = 1
|
||||
debug = true
|
||||
rpath = false
|
||||
lto = false
|
||||
debug-assertions = true
|
||||
codegen-units = 1
|
||||
panic = "abort"
|
||||
|
||||
[profile.release]
|
||||
opt-level = 2
|
||||
debug = true
|
||||
rpath = false
|
||||
lto = true
|
||||
debug-assertions = false
|
||||
panic = "abort"
|
||||
9
toolkit/library/rust/lib.rs
Normal file
9
toolkit/library/rust/lib.rs
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
// 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/.
|
||||
|
||||
// You should not be adding code to this crate; you will almost certainly
|
||||
// get link errors when linking libxul-gtest. Add any |extern crate|
|
||||
// declarations or similar to the gkrust-shared crate in
|
||||
// toolkit/library/rust/shared/lib.rs.
|
||||
extern crate gkrust_shared;
|
||||
7
toolkit/library/rust/moz.build
Normal file
7
toolkit/library/rust/moz.build
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
# -*- Mode: python; c-basic-offset: 4; 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/.
|
||||
|
||||
RustLibrary('gkrust')
|
||||
20
toolkit/library/rust/shared/Cargo.toml
Normal file
20
toolkit/library/rust/shared/Cargo.toml
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
[package]
|
||||
name = "gkrust-shared"
|
||||
version = "0.1.0"
|
||||
authors = ["nobody@mozilla.org"]
|
||||
license = "MPL-2.0"
|
||||
description = "Shared Rust code for libxul"
|
||||
|
||||
[dependencies]
|
||||
mp4parse_capi = { path = "../../../../media/libstagefright/binding/mp4parse_capi" }
|
||||
nsstring = { path = "../../../../xpcom/rust/nsstring" }
|
||||
rust_url_capi = { path = "../../../../netwerk/base/rust-url-capi" }
|
||||
|
||||
[lib]
|
||||
path = "lib.rs"
|
||||
test = false
|
||||
doctest = false
|
||||
bench = false
|
||||
doc = false
|
||||
plugin = false
|
||||
harness = false
|
||||
7
toolkit/library/rust/shared/lib.rs
Normal file
7
toolkit/library/rust/shared/lib.rs
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
// 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/.
|
||||
|
||||
extern crate mp4parse_capi;
|
||||
extern crate nsstring;
|
||||
extern crate rust_url_capi;
|
||||
4
toolkit/library/symverscript.in
Normal file
4
toolkit/library/symverscript.in
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
#filter substitution
|
||||
@VERSION@ {
|
||||
global: *;
|
||||
};
|
||||
5
toolkit/library/xulrunner.rc
Normal file
5
toolkit/library/xulrunner.rc
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
/* 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/. */
|
||||
|
||||
#include "widget.rc"
|
||||
Loading…
Add table
Add a link
Reference in a new issue