diff --git a/.gitmodules b/.gitmodules index 55b0809a06c..8c8d64585b4 100644 --- a/.gitmodules +++ b/.gitmodules @@ -61,6 +61,9 @@ [submodule "src/platform/linux/rust-xlib"] path = src/platform/linux/rust-xlib url = https://github.com/mozilla-servo/rust-xlib.git +[submodule "src/platform/linux/fontconfig"] + path = src/platform/linux/fontconfig + url = https://github.com/mozilla-servo/fontconfig.git [submodule "src/support/skia/skia"] path = src/support/skia/skia url = https://github.com/mozilla-servo/skia.git diff --git a/README.md b/README.md index 6443b1a017d..b4f578da493 100644 --- a/README.md +++ b/README.md @@ -25,8 +25,8 @@ On Debian-based Linuxes: ``` sh sudo apt-get install autoconf2.13 curl freeglut3-dev libtool \ - libfreetype6-dev libfontconfig1-dev libgl1-mesa-dri libglib2.0-dev \ - xorg-dev msttcorefonts + libfreetype6-dev libgl1-mesa-dri libglib2.0-dev xorg-dev \ + msttcorefonts gperf ``` On Debian-based Linuxes (cross-compilation for Android): diff --git a/configure b/configure index cf5d5e8bdd2..0011fbab8b8 100755 --- a/configure +++ b/configure @@ -524,6 +524,7 @@ if [ $CFG_OSTYPE = "unknown-linux-gnu" ] then CFG_SUBMODULES="\ platform/linux/rust-xlib \ + platform/linux/fontconfig \ support/glfw/glfw \ support/glfw/glfw-rs \ platform/linux/rust-fontconfig \ @@ -621,7 +622,7 @@ then cd ${CFG_BUILD_DIR} fi -#fontconfig expects to use an installed freetype, but we want to override that behavior to use our version +# fontconfig expects to use an installed freetype, but we want to use our version on Android if [ $CFG_OSTYPE = "linux-androideabi" ] then export FREETYPE_CFLAGS="-I${CFG_SRC_DIR}src/platform/android/libfreetype2/include -I${CFG_BUILD_DIR}src/platform/android/libfreetype2/include" @@ -681,6 +682,13 @@ do CONFIGURE_ARGS="${CONFIGURE_ARGS} --without-zlib" CONFIGURE_ARGS="${CONFIGURE_ARGS} ${EXTRA_CONFIGURE_ARGS}" ;; + platform/linux/fontconfig) + CONFIGURE_SCRIPT="${CFG_SRC_DIR}src/${i}/autogen.sh" + CONFIGURE_ARGS="${CONFIGURE_ARGS} --sysconfdir=/etc" + CONFIGURE_ARGS="${CONFIGURE_ARGS} --localstatedir=/var" + CONFIGURE_ARGS="${CONFIGURE_ARGS} --disable-shared" # work around Rust #12557 + CONFIGURE_ARGS="${CONFIGURE_ARGS} ${EXTRA_CONFIGURE_ARGS}" + ;; platform/android/fontconfig) CONFIGURE_SCRIPT="${CFG_SRC_DIR}src/${i}/autogen.sh" CONFIGURE_ARGS="${CONFIGURE_ARGS} --host=arm-linux-androideabi" diff --git a/mk/sub.mk b/mk/sub.mk index f2fc995a970..361dd465a15 100644 --- a/mk/sub.mk +++ b/mk/sub.mk @@ -156,6 +156,7 @@ ifeq ($(CFG_OSTYPE),unknown-linux-gnu) DEPS_rust-azure += \ rust-freetype \ rust-fontconfig \ + fontconfig \ rust-xlib \ rust \ $(NULL) @@ -167,6 +168,15 @@ DEPS_rust-layers += \ rust-xlib \ rust \ $(NULL) + +DEPS_rust-fontconfig += \ + fontconfig \ + rust \ + $(NULL) + +NATIVE_BUILD += \ + fontconfig \ + $(NULL) endif ifeq ($(CFG_OSTYPE),linux-androideabi) diff --git a/src/platform/linux/fontconfig b/src/platform/linux/fontconfig new file mode 160000 index 00000000000..b2cfb1f4b35 --- /dev/null +++ b/src/platform/linux/fontconfig @@ -0,0 +1 @@ +Subproject commit b2cfb1f4b3561e01a58359cd18929457a0486db7 diff --git a/src/platform/linux/rust-fontconfig b/src/platform/linux/rust-fontconfig index f3d71aa708e..34f83d9c614 160000 --- a/src/platform/linux/rust-fontconfig +++ b/src/platform/linux/rust-fontconfig @@ -1 +1 @@ -Subproject commit f3d71aa708eb44736c4fe526fbf1bb55010c623b +Subproject commit 34f83d9c614d5e1cc10bff4628450db3a4807902 diff --git a/src/support/azure/rust-azure b/src/support/azure/rust-azure index e632b98a30e..3dd39e85d32 160000 --- a/src/support/azure/rust-azure +++ b/src/support/azure/rust-azure @@ -1 +1 @@ -Subproject commit e632b98a30eb84c333852e0bc0a68b1b6a7faf02 +Subproject commit 3dd39e85d326a4704367166c106643e8780a8a34