Gitweb links:
...log
http://git.netsurf-browser.org/netsurf.git/shortlog/153abba6053ec6bddc96938fce1c842a30ab2396
...commit
http://git.netsurf-browser.org/netsurf.git/commit/153abba6053ec6bddc96938fce1c842a30ab2396
...tree
http://git.netsurf-browser.org/netsurf.git/tree/153abba6053ec6bddc96938fce1c842a30ab2396
The branch, chris/ndk32 has been updated
via 153abba6053ec6bddc96938fce1c842a30ab2396 (commit)
via 1467e8d610eb3e72d15264cac0f746129753bb17 (commit)
via bb3ac176bd361d9275228f770394918e0b119149 (commit)
via a8a015b224cf37a202e3b0e5f149d1e4585a0aca (commit)
via b8630492eae3b14ea3a9cd5c615767077e261f56 (commit)
via 7bf6f8d0a22920e162e43234dc5b280024fc82e6 (commit)
via 71a683438dfa8960204c693fe795b834a7ccf963 (commit)
via a04f2c154ba95bcd2857fb41127b3ea02b3c2d87 (commit)
via 6ebb370a86c8f0bb1bc8fce10adb85fc1776f37f (commit)
via 408080d5513460dc2b14d7753b50df3c87a9c6c3 (commit)
via 0e8f33ecf1c6cd7bf517c9880be86b0326bf575a (commit)
via 91ce4ddedf61f95a30a4ae07e2ebbcec4321db60 (commit)
via 70a70e111222378f63f9df9aa441cc585f6e6662 (commit)
via b1c99fe8dd3b1a424a1e4275c9f0df3adc4e589b (commit)
via 364a062578b50c69e64809f77e55ee898f43d2b9 (commit)
via 7bed6dc4099621d7bd9e04f580b99c15fb30dfdd (commit)
via 1492155bedc2dc4a72241118eedcc7b3e09f3e1b (commit)
via 2ce21bfe45e1ec86ba72f570c1a39c8cff416123 (commit)
from 7579fcf79ffce9cd6ab52d2873da15d92a05c44a (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commitdiff
http://git.netsurf-browser.org/netsurf.git/commit/?id=153abba6053ec6bddc96938fce1c842a30ab2396
commit 153abba6053ec6bddc96938fce1c842a30ab2396
Merge: 7579fcf79 1467e8d61
Author: Chris Young <[email protected]>
Commit: Chris Young <[email protected]>
Merge branch 'master' into chris/ndk32
diff --cc frontends/amiga/Makefile
index 33d1170b3,d29b84b9c..11907b057
--- a/frontends/amiga/Makefile
+++ b/frontends/amiga/Makefile
@@@ -5,9 -5,9 +5,9 @@@
CFLAGS += -std=c99 -Dnsamiga
ifneq ($(SUBTARGET),os3)
- CFLAGS += -O2 -mstrict-align -finline-functions -U__STRICT_ANSI__
-D__USE_INLINE__ -D__USE_BASETYPE__
+ CFLAGS += -O2 -flto -mstrict-align -finline-functions -U__STRICT_ANSI__
-D__USE_INLINE__ -D__USE_BASETYPE__
else
- CFLAGS += -O2 -DPATH_MAX=1024 -D__m68k__ -fomit-frame-pointer -m68020-60
-msoft-float
+ CFLAGS += -O2 -DPATH_MAX=1024 -D__m68k__ -fomit-frame-pointer -m68020-60
-msoft-float -DNO_INLINE_STDARG -DFANCY_GADTOOLS_MENU
endif
$(eval $(call feature_enabled,AMIGA_ICON,-DWITH_AMIGA_ICON,,Amiga icon))
diff --cc frontends/amiga/gui_options.c
index 0fdc8ae7e,9e77e4525..798b95bd8
--- a/frontends/amiga/gui_options.c
+++ b/frontends/amiga/gui_options.c
@@@ -494,7 -574,17 +494,6 @@@ static void ami_gui_opts_free(struct am
if(nativebmopts[i]) free((APTR)nativebmopts[i]);
ami_gui_opts_websearch_free(websearch_list);
--
-#ifndef __amigaos4__
- ami_gui_opts_free_list(&gow->clicktablist, NSA_LIST_CLICKTAB);
- ami_gui_opts_free_list(&gow->screenoptslist, NSA_LIST_RADIO);
- ami_gui_opts_free_list(&gow->pagethemeoptslist, NSA_LIST_CHOOSER);
- ami_gui_opts_free_list(&gow->proxyoptslist, NSA_LIST_CHOOSER);
- ami_gui_opts_free_list(&gow->nativebmoptslist, NSA_LIST_CHOOSER);
- ami_gui_opts_free_list(&gow->ditheroptslist, NSA_LIST_CHOOSER);
- ami_gui_opts_free_list(&gow->fontoptslist, NSA_LIST_CHOOSER);
- ami_gui_opts_free_list(&gow->fontenginelist, NSA_LIST_CHOOSER);
-#endif
}
void ami_gui_opts_open(void)
-----------------------------------------------------------------------
Summary of changes:
.github/workflows/build.yaml | 197 +++++++++++++++++++++++++++++++--
.github/workflows/monkey-test.yaml | 2 +-
.github/workflows/static-analysis.yaml | 7 +-
docs/env.sh | 25 ++++-
frontends/amiga/Makefile | 2 +-
frontends/amiga/font.c | 22 ++++
frontends/amiga/font_bullet.c | 4 +-
frontends/amiga/gui.c | 27 +----
frontends/amiga/gui_options.c | 31 +++---
frontends/atari/Makefile | 13 +++
frontends/atari/Makefile.defaults | 4 -
frontends/atari/Makefile.tools | 23 +++-
frontends/riscos/print.c | 14 ++-
frontends/windows/Makefile | 2 +-
frontends/windows/Makefile.tools | 22 +++-
15 files changed, 319 insertions(+), 76 deletions(-)
diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml
index fa8843807..4aeac684c 100644
--- a/.github/workflows/build.yaml
+++ b/.github/workflows/build.yaml
@@ -3,8 +3,9 @@ name: "Linux Build"
on: [push]
jobs:
- linux:
- name: '${{ matrix.os }}: ${{ matrix.compiler.vendor }}'
+ # Native linux builds
+ native:
+ name: 'Native: ${{ matrix.os }}: ${{ matrix.compiler.vendor }}'
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
@@ -57,10 +58,10 @@ jobs:
env:
CC: ${{ matrix.compiler.CC }}
CXX: ${{ matrix.compiler.CXX }}
+ TARGET_WORKSPACE: "${{ github.workspace }}/projects" # Same as
"$(pwd)/projects"
run: |
- export TARGET_WORKSPACE="$(pwd)/projects"
source docs/env.sh
- ns-clone -d -s
+ ns-clone -d -s -b ${GITHUB_REF_NAME}
ns-make-tools install
ns-make-libs install
@@ -78,8 +79,8 @@ jobs:
env:
CC: ${{ matrix.compiler.CC }}
CXX: ${{ matrix.compiler.CXX }}
+ TARGET_WORKSPACE: "${{ github.workspace }}/projects" # Same as
"$(pwd)/projects"
run: |
- export TARGET_WORKSPACE="$(pwd)/projects"
source docs/env.sh
make test
@@ -87,8 +88,8 @@ jobs:
env:
CC: ${{ matrix.compiler.CC }}
CXX: ${{ matrix.compiler.CXX }}
+ TARGET_WORKSPACE: "${{ github.workspace }}/projects" # Same as
"$(pwd)/projects"
run: |
- export TARGET_WORKSPACE="$(pwd)/projects"
source docs/env.sh
make -j"$(nproc)" TARGET=gtk
@@ -96,8 +97,8 @@ jobs:
env:
CC: ${{ matrix.compiler.CC }}
CXX: ${{ matrix.compiler.CXX }}
+ TARGET_WORKSPACE: "${{ github.workspace }}/projects" # Same as
"$(pwd)/projects"
run: |
- export TARGET_WORKSPACE="$(pwd)/projects"
source docs/env.sh
make -j"$(nproc)" TARGET=monkey
@@ -105,7 +106,187 @@ jobs:
env:
CC: ${{ matrix.compiler.CC }}
CXX: ${{ matrix.compiler.CXX }}
+ TARGET_WORKSPACE: "${{ github.workspace }}/projects" # Same as
"$(pwd)/projects"
run: |
- export TARGET_WORKSPACE="$(pwd)/projects"
source docs/env.sh
make -j"$(nproc)" TARGET=framebuffer
+
+ # Cross compile using toolchains built in the toolchains repo.
+ cross:
+ name: 'Cross: ${{ matrix.build.toolchain }}' # ATM toolchain unique across
builds
+ runs-on: ubuntu-24.04 # Matches toolchains workflow
+ strategy:
+ fail-fast: false
+ matrix:
+ build:
+ - { toolchain: arm-riscos-gnueabi, frontend: riscos, pkg-file:
netsurf.zip }
+ - { toolchain: arm-unknown-riscos, frontend: riscos, pkg-file:
netsurf.zip }
+ - { toolchain: i686-w64-mingw32, frontend: windows, pkg-file:
netsurf-installer.exe }
+ - { toolchain: m5475-atari-mint, frontend: atari, pkg-file:
nsv4e.zip }
+ - { toolchain: m68k-atari-mint, frontend: atari, pkg-file:
ns020.zip }
+ - { toolchain: m68k-unknown-amigaos, frontend: amigaos3, pkg-file:
NetSurf_Amiga/netsurf.lha }
+ - { toolchain: ppc-amigaos, frontend: amiga, pkg-file:
NetSurf_Amiga/netsurf.lha }
+ - { toolchain: x86_64-w64-mingw32, frontend: windows, pkg-file:
netsurf-installer.exe }
+
+ steps:
+ - name: Checkout repository
+ uses: actions/checkout@v3
+ with:
+ fetch-depth: 1
+
+ - name: apt-get install packages
+ run: sudo apt-get update -qq &&
+ sudo apt-get install --no-install-recommends -y
+ bison
+ build-essential
+ ccache
+ check
+ clang
+ flex
+ git
+ gperf
+ jlha-utils
+ libcurl4-openssl-dev
+ libgtk-3-dev
+ libhtml-parser-perl
+ libjpeg-dev
+ libpng-dev
+ librsvg2-dev
+ llvm
+ nsis
+ pkg-config
+
+ - name: ccache
+ uses: hendrikmuhs/[email protected]
+ with:
+ key: ${{ github.job }}-${{ matrix.build.toolchain }}
+ max-size: 128M
+
+ # look for toolchain for this branch name first, then default to master
+ - name: Download toolchain
+ run: |
+ set -e
+
+ TOOLCHAIN_NAME="${{ matrix.build.toolchain }}"
+ BRANCH_NAME="${{ github.ref_name }}"
+
+ # Function to try downloading toolchain from a specific tag
+ download_toolchain() {
+ local ref="$1"
+ local
download_url="https://github.com/netsurf-browser/toolchains/releases/download/${ref}/${TOOLCHAIN_NAME}.tar.gz"
+
+ echo "Trying to download toolchain from ref: $ref"
+ echo "URL: $download_url"
+
+ if curl -f -L -o "${TOOLCHAIN_NAME}.tar.gz" "$download_url"; then
+ echo "Got toolchain with ref: $ref"
+ return 0
+ else
+ echo "Failed to download toolchain with ref: $ref"
+ return 1
+ fi
+ }
+
+ # Try branch-specific toolchain first
+ safe_branch=$(echo "$BRANCH_NAME" | sed 's/[^a-zA-Z0-9._-]/-/g')
+ branch_tag="gh-${safe_branch}-unstable"
+
+ if download_toolchain "$branch_tag"; then
+ echo "Downloaded branch-specific toolchain"
+ elif download_toolchain "gh-master-unstable"; then
+ echo "Downloaded fallback master toolchain"
+ else
+ echo "Failed to download any toolchain variant"
+ exit 1
+ fi
+
+ - name: Install toolchain
+ run: |
+ echo "Installing toolchain: ${{ matrix.build.toolchain }}"
+ sudo tar -xzf "${{ matrix.build.toolchain }}.tar.gz" -C /
+ rm "${{ matrix.build.toolchain }}.tar.gz"
+ echo "Toolchain testament:"
+ cat /opt/netsurf/${{ matrix.build.toolchain }}/BUILD_INFO.txt
+
+ - name: Build and install project libs
+ env:
+ HOST: "${{ matrix.build.toolchain }}"
+ TARGET_WORKSPACE: "${{ github.workspace }}/projects" # Same as
"$(pwd)/projects"
+ Q:
+ run: |
+ echo "HOST=$HOST"
+ echo "TARGET_WORKSPACE=$TARGET_WORKSPACE"
+
+ echo "Looking for cross-compiler tools..."
+ echo "Expected path: /opt/netsurf/${HOST}/cross/bin/"
+ if [ -f "/opt/netsurf/${HOST}/cross/bin/${HOST}-gcc" ]; then
+ echo "Found: /opt/netsurf/${HOST}/cross/bin/${HOST}-gcc"
+ echo "Testing if it's executable:"
+ /opt/netsurf/${HOST}/cross/bin/${HOST}-gcc --version || echo "Failed
to execute gcc --version"
+ echo "Testing dumpmachine output:"
+ /opt/netsurf/${HOST}/cross/bin/${HOST}-gcc -dumpmachine || echo
"Failed to execute gcc -dumpmachine"
+ else
+ echo "NOT FOUND: /opt/netsurf/${HOST}/cross/bin/${HOST}-gcc"
+ fi
+
+ echo "Sourcing env.sh with error checking..."
+ set -e # Exit on any error
+ if ! source docs/env.sh; then
+ echo "env.sh failed with exit code $?"
+ exit 1
+ fi
+ echo "env.sh sourced successfully"
+ echo "BUILD=$BUILD"
+ echo "HOST=$HOST"
+ echo "TARGET_WORKSPACE=$TARGET_WORKSPACE"
+ echo "USE_CPUS=$USE_CPUS"
+
+ echo "Cloning libs..."
+ ns-clone -d -s -b ${GITHUB_REF_NAME}
+ echo "Building and installing tools..."
+ ns-make-tools install
+ echo "Building and installing libs..."
+ ns-make-libs install
+
+ - name: Build NetSurf
+ env:
+ HOST: "${{ matrix.build.toolchain }}"
+ TARGET_WORKSPACE: "${{ github.workspace }}/projects" # Same as
"$(pwd)/projects"
+ run: |
+ set -e
+ if ! source docs/env.sh; then
+ echo "env.sh failed with exit code $?"
+ exit 1
+ fi
+ echo "env.sh sourced successfully"
+ echo "BUILD=$BUILD"
+ echo "HOST=$HOST"
+ echo "TARGET_WORKSPACE=$TARGET_WORKSPACE"
+ echo "USE_CPUS=$USE_CPUS"
+ make -j"$(nproc)" TARGET=${{ matrix.build.frontend }} Q=
+
+ - name: Make package
+ env:
+ HOST: "${{ matrix.build.toolchain }}"
+ TARGET_WORKSPACE: "${{ github.workspace }}/projects" # Same as
"$(pwd)/projects"
+ run: |
+ set -e
+ if ! source docs/env.sh; then
+ echo "env.sh failed with exit code $?"
+ exit 1
+ fi
+ echo "env.sh sourced successfully"
+ echo "BUILD=$BUILD"
+ echo "HOST=$HOST"
+ echo "TARGET_WORKSPACE=$TARGET_WORKSPACE"
+ echo "USE_CPUS=$USE_CPUS"
+ make package TARGET=${{ matrix.build.frontend }} Q=
+
+ # Can't avoid `upload-artifact` zipping the package
+ # https://github.com/actions/upload-artifact/issues/426
+ - name: Upload artifact
+ uses: actions/upload-artifact@v4
+ with:
+ name: ${{ matrix.build.toolchain }}-${{ matrix.build.frontend }}
+ path: ${{ matrix.build.pkg-file }}
+ compression-level: 0 # Avoid pointless recompression
diff --git a/.github/workflows/monkey-test.yaml
b/.github/workflows/monkey-test.yaml
index 8ed2b74b0..b098fb0dc 100644
--- a/.github/workflows/monkey-test.yaml
+++ b/.github/workflows/monkey-test.yaml
@@ -50,7 +50,7 @@ jobs:
run: |
export TARGET_WORKSPACE="$(pwd)/projects"
source docs/env.sh
- ns-clone -d -s
+ ns-clone -d -s -b ${GITHUB_REF_NAME}
ns-make-tools install
ns-make-libs install
diff --git a/.github/workflows/static-analysis.yaml
b/.github/workflows/static-analysis.yaml
index 2500b3f57..548b547cf 100644
--- a/.github/workflows/static-analysis.yaml
+++ b/.github/workflows/static-analysis.yaml
@@ -45,13 +45,12 @@ jobs:
run: |
export TARGET_WORKSPACE="$(pwd)/projects"
source docs/env.sh
- ns-clone -d -s
+ ns-clone -d -s -b ${GITHUB_REF_NAME}
ns-make-tools install
ns-make-libs install
- # Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
- uses: github/codeql-action/init@v3
+ uses: github/codeql-action/init@v4
with:
languages: ${{ matrix.language }}
@@ -62,4 +61,4 @@ jobs:
make -j"$(nproc)"
- name: Perform CodeQL Analysis
- uses: github/codeql-action/analyze@v3
+ uses: github/codeql-action/analyze@v4
diff --git a/docs/env.sh b/docs/env.sh
index 0a873cc6e..00f88c78e 100644
--- a/docs/env.sh
+++ b/docs/env.sh
@@ -344,6 +344,10 @@ case "$BUILD_TARGET" in
NS_INTERNAL_LIBS="libwapcaplet libparserutils"
;;
+ libsvgtiny)
+ NS_INTERNAL_LIBS="libwapcaplet libparserutils libhubbub libdom"
+ ;;
+
netsurf)
# internal libraries all frontends require (order is important)
NS_INTERNAL_LIBS="libwapcaplet libparserutils libhubbub libdom libcss
libnsgif libnsbmp libutf8proc libnsutils libnspsl libnslog"
@@ -370,7 +374,7 @@ case "$BUILD_TARGET" in
;;
*-atari-mint)
# tools required to build the browser for atari
- NS_TOOLS=""
+ NS_TOOLS="nsgenbind"
# libraries required for the atari frontend
NS_FRONTEND_LIBS=""
;;
@@ -426,6 +430,7 @@ ns-clone()
{
SHALLOW=""
SKIP=""
+ BRANCH=""
while [ $# -gt 0 ]
do
case "$1" in
@@ -435,6 +440,9 @@ ns-clone()
-s | --shallow) SHALLOW="--depth 1"
shift
;;
+ -b | --branch) BRANCH="$2"
+ shift 2
+ ;;
-*) echo "Error: Unknown option: $1" >&2
exit 1
;;
@@ -447,11 +455,22 @@ ns-clone()
mkdir -p ${TARGET_WORKSPACE}
for REPO in $(echo ${NS_BUILDSYSTEM} ${NS_INTERNAL_LIBS}
${NS_FRONTEND_LIBS} ${NS_RISCOS_LIBS} ${NS_TOOLS} ${BUILD_TARGET}) ; do
[ "x${REPO}" != "x${SKIP}" ] || continue
- echo -n " GIT: Cloning ${REPO}: "
+ echo -n " GIT: Cloning '${REPO}'; "
if [ -f ${TARGET_WORKSPACE}/${REPO}/.git/config ]; then
echo "Repository already present"
else
- (cd ${TARGET_WORKSPACE} && git clone ${SHALLOW}
${NS_GIT}/${REPO}.git; )
+ if [ "x${BRANCH}" != "x" ]; then
+ if (cd ${TARGET_WORKSPACE} && git clone ${SHALLOW} -b
${BRANCH} ${NS_GIT}/${REPO}.git 2>/dev/null); then
+ echo "got branch '${BRANCH}'"
+ continue
+ fi
+ fi
+ if (cd ${TARGET_WORKSPACE} && git clone ${SHALLOW}
${NS_GIT}/${REPO}.git); then
+ echo "default branch"
+ else
+ echo "failure"
+ return 1
+ fi
fi
done
diff --git a/frontends/amiga/Makefile b/frontends/amiga/Makefile
index 33d1170b3..11907b057 100644
--- a/frontends/amiga/Makefile
+++ b/frontends/amiga/Makefile
@@ -5,7 +5,7 @@
CFLAGS += -std=c99 -Dnsamiga
ifneq ($(SUBTARGET),os3)
- CFLAGS += -O2 -mstrict-align -finline-functions -U__STRICT_ANSI__
-D__USE_INLINE__ -D__USE_BASETYPE__
+ CFLAGS += -O2 -flto -mstrict-align -finline-functions -U__STRICT_ANSI__
-D__USE_INLINE__ -D__USE_BASETYPE__
else
CFLAGS += -O2 -DPATH_MAX=1024 -D__m68k__ -fomit-frame-pointer -m68020-60
-msoft-float -DNO_INLINE_STDARG -DFANCY_GADTOOLS_MENU
endif
diff --git a/frontends/amiga/font.c b/frontends/amiga/font.c
index aab37c24c..3b5e698fc 100644
--- a/frontends/amiga/font.c
+++ b/frontends/amiga/font.c
@@ -109,8 +109,30 @@ void ami_font_close_disk_font(struct TextFont *tfont)
void ami_font_init(void)
{
if(nsoption_bool(bitmap_fonts) == false) {
+#ifdef __amigaos4__
+ nsoption_setnull_charp(font_sans, (char *)strdup("DejaVu
Sans"));
+ nsoption_setnull_charp(font_serif, (char *)strdup("DejaVu
Serif"));
+ nsoption_setnull_charp(font_mono, (char *)strdup("DejaVu Sans
Mono"));
+ nsoption_setnull_charp(font_cursive, (char *)strdup("DejaVu
Sans"));
+ nsoption_setnull_charp(font_fantasy, (char *)strdup("DejaVu
Serif"));
+#else
+ /* Default CG fonts for OS3 - these work with use_diskfont both
on and off,
+ however they are slow in both cases. The bitmap fonts don't
work when
+ use_diskfont is off. */
+ nsoption_setnull_charp(font_sans, (char
*)strdup("CGTriumvirate"));
+ nsoption_setnull_charp(font_serif, (char *)strdup("CGTimes"));
+ nsoption_setnull_charp(font_mono, (char
*)strdup("LetterGothic"));
+ nsoption_setnull_charp(font_cursive, (char
*)strdup("CGTriumvirate"));
+ nsoption_setnull_charp(font_fantasy, (char *)strdup("CGTimes"));
+#endif
ami_font_bullet_init();
} else {
+ nsoption_setnull_charp(font_sans, (char *)strdup("helvetica"));
+ nsoption_setnull_charp(font_serif, (char *)strdup("times"));
+ nsoption_setnull_charp(font_mono, (char *)strdup("topaz"));
+ nsoption_setnull_charp(font_cursive, (char *)strdup("garnet"));
+ nsoption_setnull_charp(font_fantasy, (char *)strdup("emerald"));
+
ami_font_diskfont_init();
}
}
diff --git a/frontends/amiga/font_bullet.c b/frontends/amiga/font_bullet.c
index 34a2cdfc4..0f1ae6677 100644
--- a/frontends/amiga/font_bullet.c
+++ b/frontends/amiga/font_bullet.c
@@ -565,7 +565,7 @@ static inline int32 ami_font_plot_glyph(struct OutlineFont
*ofont, struct RastPo
if (*char2 < 0x0020) skip_c2 = true;
#ifndef __amigaos4__
- if((strcmp(ofont->olf_EngineName, "bullet") == 0) && (*char1 ==
0x0020)) return (emwidth / 3);
+ if(*char1 == 0x0020) return (emwidth / 3);
#endif
#ifdef __amigaos4__
@@ -674,7 +674,7 @@ static inline int32 ami_font_width_glyph(struct OutlineFont
*ofont,
if (*char2 < 0x0020) skip_c2 = true;
#ifndef __amigaos4__
- if((strcmp(ofont->olf_EngineName, "bullet") == 0) && (*char1 ==
0x0020)) return (emwidth / 3);
+ if(*char1 == 0x0020) return (emwidth / 3);
#endif
long_char_1 = amiga_nsfont_decode_surrogate(char1);
diff --git a/frontends/amiga/gui.c b/frontends/amiga/gui.c
index aa3866cea..a1a99e89e 100644
--- a/frontends/amiga/gui.c
+++ b/frontends/amiga/gui.c
@@ -1106,32 +1106,7 @@ static nserror ami_set_options(struct nsoption_s
*defaults)
nsoption_setnull_charp(ca_bundle,
(char *)strdup("PROGDIR:Resources/ca-bundle"));
- /* font defaults */
-
- if(nsoption_bool(bitmap_fonts) == false) {
-#ifdef __amigaos4__
- nsoption_setnull_charp(font_sans, (char *)strdup("DejaVu
Sans"));
- nsoption_setnull_charp(font_serif, (char *)strdup("DejaVu
Serif"));
- nsoption_setnull_charp(font_mono, (char *)strdup("DejaVu Sans
Mono"));
- nsoption_setnull_charp(font_cursive, (char *)strdup("DejaVu
Sans"));
- nsoption_setnull_charp(font_fantasy, (char *)strdup("DejaVu
Serif"));
-#else
- /* Default CG fonts for OS3 - these work with use_diskfont both
on and off,
- however they are slow in both cases. The bitmap fonts don't
work when
- use_diskfont is off. */
- nsoption_setnull_charp(font_sans, (char
*)strdup("CGTriumvirate"));
- nsoption_setnull_charp(font_serif, (char *)strdup("CGTimes"));
- nsoption_setnull_charp(font_mono, (char
*)strdup("LetterGothic"));
- nsoption_setnull_charp(font_cursive, (char
*)strdup("CGTriumvirate"));
- nsoption_setnull_charp(font_fantasy, (char *)strdup("CGTimes"));
-#endif
- } else {
- nsoption_setnull_charp(font_sans, (char *)strdup("helvetica"));
- nsoption_setnull_charp(font_serif, (char *)strdup("times"));
- nsoption_setnull_charp(font_mono, (char *)strdup("topaz"));
- nsoption_setnull_charp(font_cursive, (char *)strdup("garnet"));
- nsoption_setnull_charp(font_fantasy, (char *)strdup("emerald"));
- }
+ /* Regular font defaults are set in font.c */
if (nsoption_charp(font_unicode) == NULL)
{
diff --git a/frontends/amiga/gui_options.c b/frontends/amiga/gui_options.c
index 0fdc8ae7e..798b95bd8 100755
--- a/frontends/amiga/gui_options.c
+++ b/frontends/amiga/gui_options.c
@@ -239,24 +239,24 @@ static const struct ami_win_event_table ami_guiopts_table
= {
};
/* Default fonts */
-static struct TextAttr default_bm_font_SANS = { "helvetica", 0, 0, 0 };
-static struct TextAttr default_bm_font_SERIF = { "times", 0, 0, 0 };
-static struct TextAttr default_bm_font_MONO = { "topaz", 0, 0, 0 };
-static struct TextAttr default_bm_font_CURSIVE = { "garnet", 0, 0, 0 };
-static struct TextAttr default_bm_font_FANTASY = { "emerald", 0, 0, 0 };
+static struct TextAttr default_bm_font_SANS = { "helvetica.font", 0, 0, 0 };
+static struct TextAttr default_bm_font_SERIF = { "times.font", 0, 0, 0 };
+static struct TextAttr default_bm_font_MONO = { "topaz.font", 0, 0, 0 };
+static struct TextAttr default_bm_font_CURSIVE = { "garnet.font", 0, 0, 0 };
+static struct TextAttr default_bm_font_FANTASY = { "emerald.font", 0, 0, 0 };
#ifdef __amigaos4__
-static struct TextAttr default_cg_font_SANS = { "DejaVu Sans", 0, 0, 0
};
-static struct TextAttr default_cg_font_SERIF = { "DejaVu Serif", 0, 0, 0
};
-static struct TextAttr default_cg_font_MONO = { "DejaVu Sans Mono", 0, 0, 0
};
-static struct TextAttr default_cg_font_CURSIVE = { "DejaVu Sans", 0, 0, 0
};
-static struct TextAttr default_cg_font_FANTASY = { "DejaVu Serif", 0, 0, 0
};
+static struct TextAttr default_cg_font_SANS = { "DejaVu Sans.font", 0,
0, 0 };
+static struct TextAttr default_cg_font_SERIF = { "DejaVu Serif.font", 0,
0, 0 };
+static struct TextAttr default_cg_font_MONO = { "DejaVu Sans Mono.font", 0,
0, 0 };
+static struct TextAttr default_cg_font_CURSIVE = { "DejaVu Sans.font", 0,
0, 0 };
+static struct TextAttr default_cg_font_FANTASY = { "DejaVu Serif.font", 0,
0, 0 };
#else
-static struct TextAttr default_cg_font_SANS = { "CGTriumvirate", 0, 0, 0 };
-static struct TextAttr default_cg_font_SERIF = { "CGTimes", 0, 0, 0 };
-static struct TextAttr default_cg_font_MONO = { "LetterGothic", 0, 0, 0 };
-static struct TextAttr default_cg_font_CURSIVE = { "CGTriumvirate", 0, 0, 0 };
-static struct TextAttr default_cg_font_FANTASY = { "CGTimes", 0, 0, 0 };
+static struct TextAttr default_cg_font_SANS = { "CGTriumvirate.font", 0, 0,
0 };
+static struct TextAttr default_cg_font_SERIF = { "CGTimes.font", 0, 0,
0 };
+static struct TextAttr default_cg_font_MONO = { "LetterGothic.font", 0, 0,
0 };
+static struct TextAttr default_cg_font_CURSIVE = { "CGTriumvirate.font", 0, 0,
0 };
+static struct TextAttr default_cg_font_FANTASY = { "CGTimes.font", 0, 0,
0 };
#endif
#define AMI_GUI_OPTS_REFRESH_FONT_BM(TYPE) RefreshSetGadgetAttrs((struct
Gadget *)gow->objects[GID_OPTS_FONT_##TYPE], \
@@ -494,7 +494,6 @@ static void ami_gui_opts_free(struct ami_gui_opts_window
*gow)
if(nativebmopts[i]) free((APTR)nativebmopts[i]);
ami_gui_opts_websearch_free(websearch_list);
-
}
void ami_gui_opts_open(void)
diff --git a/frontends/atari/Makefile b/frontends/atari/Makefile
index 2f6d7118b..a14e202e1 100644
--- a/frontends/atari/Makefile
+++ b/frontends/atari/Makefile
@@ -12,6 +12,19 @@ STRIP := $(wildcard $(GCCSDK_INSTALL_CROSSBIN)/*-strip)
STACK := $(wildcard $(GCCSDK_INSTALL_CROSSBIN)/*stack)
FT2CF := $(GCCSDK_INSTALL_ENV)/bin/freetype-config
+# Compute default atariarch: 68020-60 unless coldfire
+ifeq ($(origin ATARIARCH),undefined)
+ ifeq (,$(findstring m5475,$(shell $(CC) -dumpmachine 2>/dev/null)))
+ ATARIARCH := 68020-60
+ else
+ ATARIARCH := v4e
+ endif
+endif
+# Validate atariarch
+ifeq ($(filter 68000 68020-60 v4e,$(ATARIARCH)),)
+ $(error Unknown ATARIARCH "$(ATARIARCH)")
+endif
+
ifeq ($(ATARIARCH),68000)
PRGSUFFIX := 000.app
PKGNAME := ns000.zip
diff --git a/frontends/atari/Makefile.defaults
b/frontends/atari/Makefile.defaults
index dd040540f..7c400e159 100644
--- a/frontends/atari/Makefile.defaults
+++ b/frontends/atari/Makefile.defaults
@@ -39,10 +39,6 @@ NETSURF_USE_ATARI_VDI_FONT := NO
# Valid options: YES, NO
NETSURF_USE_ATARI_8BPP_SUPPORT := NO
-# Configure the CPU target
-# Valid options: 68000, 68020-60, 5475 (coldfire)
-ATARIARCH = 68020-60
-
# enable optimizations
# -O2 is currently broken with m68000 / m68020-60 builds
CFLAGS += -O3
diff --git a/frontends/atari/Makefile.tools b/frontends/atari/Makefile.tools
index 971ab21be..da11e1c09 100644
--- a/frontends/atari/Makefile.tools
+++ b/frontends/atari/Makefile.tools
@@ -9,11 +9,28 @@ else
ifeq ($(HOST),mint)
PKG_CONFIG := pkg-config
else
- GCCSDK_INSTALL_ENV ?= /opt/netsurf/m68k-atari-mint/env
- GCCSDK_INSTALL_CROSSBIN ?= /opt/netsurf/m68k-atari-mint/cross/bin
+ # Cross-build
+
+ # Search for the toolchain install locations if we haven't been told
+ # The search order prefers m68k over m5475
+ ifeq ($(origin GCCSDK_INSTALL_ENV),undefined)
+ ifneq ($(realpath /opt/netsurf/m68k-atari-mint/env),)
+ GCCSDK_INSTALL_ENV := /opt/netsurf/m68k-atari-mint/env
+ else
+ GCCSDK_INSTALL_ENV := /opt/netsurf/m5475-atari-mint/env
+ endif
+ endif
+
+ ifeq ($(origin GCCSDK_INSTALL_CROSSBIN),undefined)
+ ifneq ($(realpath /opt/netsurf/m68k-atari-mint/env),)
+ GCCSDK_INSTALL_CROSSBIN := /opt/netsurf/m68k-atari-mint/cross/bin
+ else
+ GCCSDK_INSTALL_CROSSBIN := /opt/netsurf/m5475-atari-mint/cross/bin
+ endif
+ endif
CC := $(wildcard $(GCCSDK_INSTALL_CROSSBIN)/*gcc)
PKG_CONFIG := PKG_CONFIG_LIBDIR="$(GCCSDK_INSTALL_ENV)/lib/pkgconfig"
pkg-config
endif
-endif
\ No newline at end of file
+endif
diff --git a/frontends/riscos/print.c b/frontends/riscos/print.c
index e87f47857..2495b799e 100644
--- a/frontends/riscos/print.c
+++ b/frontends/riscos/print.c
@@ -674,10 +674,16 @@ bool print_document(struct gui_window *g, const char
*filename)
NSLOG(netsurf, INFO,
"redrawing area: [(%d, %d), (%d, %d)]", b.x0,
b.y0, b.x1, b.y1);
- clip.x0 = (b.x0 - ro_plot_origin_x) / 2;
- clip.y0 = (ro_plot_origin_y - b.y1) / 2;
- clip.x1 = (b.x1 - ro_plot_origin_x) / 2;
- clip.y1 = (ro_plot_origin_y - b.y0) / 2;
+
+ ro_plot_clip_rect.x0 = b.x0 - ro_plot_origin_x;
+ ro_plot_clip_rect.y0 = ro_plot_origin_y - b.y0;
+ ro_plot_clip_rect.x1 = b.x1 - ro_plot_origin_x;
+ ro_plot_clip_rect.y1 = ro_plot_origin_y - b.y1;
+
+ clip.x0 = (ro_plot_clip_rect.x0 ) / 2; /* left */
+ clip.y0 = (ro_plot_clip_rect.y1 ) / 2; /* top */
+ clip.x1 = (ro_plot_clip_rect.x1 + 1) / 2; /* right */
+ clip.y1 = (ro_plot_clip_rect.y0 + 1) / 2; /* bottom */
data.x = 0;
data.y = 0;
diff --git a/frontends/windows/Makefile b/frontends/windows/Makefile
index 524f716fe..4d854301a 100644
--- a/frontends/windows/Makefile
+++ b/frontends/windows/Makefile
@@ -15,7 +15,7 @@ $(eval $(call pkg_config_find_and_add,libcares,Cares))
$(eval $(call pkg_config_find_and_add,zlib,ZLib))
# libraries for windows API
-LDFLAGS += -lgnurx -lgdi32 -lcomctl32 -lws2_32 -lmsimg32 -lshlwapi -lcrypt32
-mwindows
+LDFLAGS += -lgnurx -lgdi32 -lcomctl32 -lws2_32 -lmsimg32 -lshlwapi -liphlpapi
-lcrypt32 -mwindows
CFLAGS += -U__STRICT_ANSI__ -mwin32
# only windows versions after XP are supported
diff --git a/frontends/windows/Makefile.tools b/frontends/windows/Makefile.tools
index 24f0f7fbd..04550ba85 100644
--- a/frontends/windows/Makefile.tools
+++ b/frontends/windows/Makefile.tools
@@ -4,9 +4,25 @@
##
ifneq ($(HOST),windows)
- # Set Mingw defaults
- GCCSDK_INSTALL_ENV ?= /opt/netsurf/i686-w64-mingw32/env
- GCCSDK_INSTALL_CROSSBIN ?= /opt/netsurf/i686-w64-mingw32/cross/bin
+ # Cross-build for Windows
+
+ # Search for the toolchain install locations if we haven't been told
+ # The search order prefers x86_64 over i686
+ ifeq ($(origin GCCSDK_INSTALL_ENV),undefined)
+ ifneq ($(realpath /opt/netsurf/x86_64-w64-mingw32/env),)
+ GCCSDK_INSTALL_ENV := /opt/netsurf/x86_64-w64-mingw32/env
+ else
+ GCCSDK_INSTALL_ENV := /opt/netsurf/i686-w64-mingw32/env
+ endif
+ endif
+
+ ifeq ($(origin GCCSDK_INSTALL_CROSSBIN),undefined)
+ ifneq ($(realpath /opt/netsurf/x86_64-w64-mingw32/env),)
+ GCCSDK_INSTALL_CROSSBIN := /opt/netsurf/x86_64-w64-mingw32/cross/bin
+ else
+ GCCSDK_INSTALL_CROSSBIN := /opt/netsurf/i686-w64-mingw32/cross/bin
+ endif
+ endif
CC := $(wildcard $(GCCSDK_INSTALL_CROSSBIN)/*gcc)
WINDRES := $(wildcard $(GCCSDK_INSTALL_CROSSBIN)/*windres)
--
NetSurf Browser