2007-12-23 00:15:58 +03:00
|
|
|
#
|
|
|
|
# Makefile for NetSurf
|
|
|
|
#
|
|
|
|
# Copyright 2007 Daniel Silverstone <dsilvers@netsurf-browser.org>
|
2008-07-29 01:21:40 +04:00
|
|
|
# Copyright 2008 Rob Kendrick <rjek@netsurf-browser.org>
|
2007-12-23 00:15:58 +03:00
|
|
|
#
|
|
|
|
# Trivially, invoke as:
|
2008-03-19 07:03:40 +03:00
|
|
|
# make
|
2007-12-23 00:15:58 +03:00
|
|
|
# to build native, or:
|
2008-03-19 07:03:40 +03:00
|
|
|
# make TARGET=riscos
|
2007-12-23 00:15:58 +03:00
|
|
|
# to cross-build for RO.
|
|
|
|
#
|
2008-07-29 01:21:40 +04:00
|
|
|
# Look at Makefile.config for configuration options.
|
|
|
|
#
|
2008-03-19 06:25:05 +03:00
|
|
|
# Tested on unix platforms (building for GTK and cross-compiling for RO) and
|
|
|
|
# on RO (building for RO).
|
2007-12-23 00:15:58 +03:00
|
|
|
#
|
|
|
|
# To clean, invoke as above, with the 'clean' target
|
|
|
|
#
|
2008-03-09 20:06:45 +03:00
|
|
|
# To build developer Doxygen generated documentation, invoke as above,
|
|
|
|
# with the 'docs' target:
|
2008-03-19 07:03:40 +03:00
|
|
|
# make docs
|
2008-03-09 20:06:45 +03:00
|
|
|
#
|
2007-12-23 00:15:58 +03:00
|
|
|
|
|
|
|
all: all-program
|
|
|
|
|
|
|
|
# Determine host type
|
2008-04-08 03:13:06 +04:00
|
|
|
# NOTE: HOST determination on RISC OS could fail because of missing bug fixes
|
|
|
|
# in UnixLib which only got addressed in UnixLib 5 / GCCSDK 4.
|
2008-03-20 18:13:52 +03:00
|
|
|
# When you don't have 'uname' available, you will see:
|
|
|
|
# File 'uname' not found
|
2008-04-08 03:13:06 +04:00
|
|
|
# When you do and using a 'uname' compiled with a buggy UnixLib, you
|
|
|
|
# will see the following printed on screen:
|
2008-03-20 18:13:52 +03:00
|
|
|
# RISC OS
|
|
|
|
# In both cases HOST make variable is empty and we recover from that by
|
|
|
|
# assuming we're building on RISC OS.
|
2008-04-08 03:13:06 +04:00
|
|
|
# In case you don't see anything printed (including the warning), you
|
2008-07-29 03:16:59 +04:00
|
|
|
# have an up-to-date RISC OS build system. ;-)
|
2008-03-19 03:48:08 +03:00
|
|
|
HOST := $(shell uname -s)
|
2008-03-20 18:13:52 +03:00
|
|
|
ifeq ($(HOST),)
|
2008-07-29 03:16:59 +04:00
|
|
|
HOST := riscos
|
|
|
|
$(warning Build platform determination failed but that's a known problem for RISC OS so we're assuming a native RISC OS build.)
|
2008-03-23 03:59:09 +03:00
|
|
|
else
|
2008-07-29 03:16:59 +04:00
|
|
|
ifeq ($(HOST),RISC OS)
|
|
|
|
# Fixup uname -s returning "RISC OS"
|
|
|
|
HOST := riscos
|
|
|
|
endif
|
2008-03-20 18:13:52 +03:00
|
|
|
endif
|
2007-12-23 00:15:58 +03:00
|
|
|
|
2008-03-19 03:48:08 +03:00
|
|
|
ifeq ($(HOST),riscos)
|
2008-07-29 03:16:59 +04:00
|
|
|
# Build happening on RO platform, default target is RO backend
|
|
|
|
ifeq ($(TARGET),)
|
|
|
|
TARGET := riscos
|
|
|
|
endif
|
2008-06-04 00:13:34 +04:00
|
|
|
else
|
2008-07-29 03:16:59 +04:00
|
|
|
ifeq ($(HOST),BeOS)
|
|
|
|
HOST := beos
|
|
|
|
endif
|
|
|
|
ifeq ($(HOST),Haiku)
|
|
|
|
# Haiku implements the BeOS API
|
|
|
|
HOST := beos
|
|
|
|
endif
|
|
|
|
ifeq ($(HOST),beos)
|
|
|
|
# Build happening on BeOS platform, default target is BeOS backend
|
|
|
|
ifeq ($(TARGET),)
|
|
|
|
TARGET := beos
|
|
|
|
endif
|
|
|
|
# BeOS still uses gcc2
|
|
|
|
GCCVER := 2
|
|
|
|
else
|
2008-08-11 20:44:12 +04:00
|
|
|
ifeq ($(HOST),AmigaOS)
|
|
|
|
HOST := amiga
|
|
|
|
ifeq ($(TARGET),)
|
|
|
|
TARGET := amiga
|
|
|
|
endif
|
|
|
|
GCCVER := 2
|
|
|
|
else
|
|
|
|
ifeq ($(HOST),Darwin)
|
|
|
|
HOST := macosx
|
|
|
|
endif
|
|
|
|
|
|
|
|
# Default target is GTK backend
|
|
|
|
ifeq ($(TARGET),)
|
|
|
|
TARGET := gtk
|
|
|
|
endif
|
2008-07-29 03:16:59 +04:00
|
|
|
endif
|
|
|
|
endif
|
2008-06-04 00:13:34 +04:00
|
|
|
endif
|
2008-03-22 03:49:56 +03:00
|
|
|
SUBTARGET =
|
2008-06-04 00:13:34 +04:00
|
|
|
RESOURCES =
|
2007-12-23 00:15:58 +03:00
|
|
|
|
2008-03-22 01:40:11 +03:00
|
|
|
ifneq ($(TARGET),riscos)
|
2008-07-29 03:16:59 +04:00
|
|
|
ifneq ($(TARGET),gtk)
|
|
|
|
ifneq ($(TARGET),beos)
|
|
|
|
ifneq ($(TARGET),debug)
|
2008-08-02 18:35:40 +04:00
|
|
|
ifneq ($(TARGET),amiga)
|
|
|
|
$(error Unknown TARGET "$(TARGET)", should either be "riscos", "gtk", "beos", "amiga" or "debug")
|
|
|
|
endif
|
2008-07-29 03:16:59 +04:00
|
|
|
endif
|
|
|
|
endif
|
|
|
|
endif
|
2008-03-22 01:40:11 +03:00
|
|
|
endif
|
|
|
|
|
2007-12-23 00:15:58 +03:00
|
|
|
Q=@
|
|
|
|
VQ=@
|
|
|
|
PERL=perl
|
|
|
|
MKDIR=mkdir
|
|
|
|
TOUCH=touch
|
2008-07-29 13:10:43 +04:00
|
|
|
STRIP=strip
|
2007-12-23 00:15:58 +03:00
|
|
|
|
|
|
|
ifeq ($(TARGET),riscos)
|
2008-07-29 03:16:59 +04:00
|
|
|
ifeq ($(HOST),riscos)
|
|
|
|
# Build for RO on RO
|
|
|
|
GCCSDK_INSTALL_ENV := <NSLibs$$Dir>
|
2008-08-07 01:46:53 +04:00
|
|
|
CCRES := ccres
|
|
|
|
TPLEXT :=
|
2008-07-29 03:16:59 +04:00
|
|
|
CC := gcc
|
|
|
|
EXEEXT :=
|
|
|
|
PKG_CONFIG :=
|
|
|
|
else
|
|
|
|
# Cross-build for RO (either using GCCSDK 3.4.6 - AOF,
|
|
|
|
# either using GCCSDK 4 - ELF)
|
|
|
|
GCCSDK_INSTALL_ENV ?= /home/riscos/env
|
|
|
|
GCCSDK_INSTALL_CROSSBIN ?= /home/riscos/cross/bin
|
2008-08-07 01:46:53 +04:00
|
|
|
CCRES := $(GCCSDK_INSTALL_CROSSBIN)/ccres
|
|
|
|
TPLEXT := ,fec
|
2008-07-29 03:16:59 +04:00
|
|
|
CC := $(wildcard $(GCCSDK_INSTALL_CROSSBIN)/*gcc)
|
|
|
|
ifneq (,$(findstring arm-unknown-riscos-gcc,$(CC)))
|
|
|
|
SUBTARGET := -elf
|
|
|
|
EXEEXT := ,e1f
|
|
|
|
ELF2AIF := $(GCCSDK_INSTALL_CROSSBIN)/elf2aif
|
|
|
|
else
|
|
|
|
SUBTARGET := -aof
|
|
|
|
EXEEXT := ,ff8
|
|
|
|
endif
|
|
|
|
PKG_CONFIG := $(GCCSDK_INSTALL_ENV)/ro-pkg-config
|
|
|
|
CCACHE := $(shell which ccache)
|
|
|
|
ifneq ($(CCACHE),)
|
|
|
|
CC := $(CCACHE) $(CC)
|
|
|
|
endif
|
|
|
|
endif
|
2008-06-04 00:13:34 +04:00
|
|
|
else
|
2008-07-29 03:16:59 +04:00
|
|
|
ifeq ($(TARGET),beos)
|
|
|
|
# Building for BeOS/Haiku
|
|
|
|
#ifeq ($(HOST),beos)
|
|
|
|
# Build for BeOS on BeOS
|
|
|
|
GCCSDK_INSTALL_ENV := /boot/develop
|
|
|
|
CC := gcc
|
|
|
|
CXX := g++
|
|
|
|
EXEEXT :=
|
|
|
|
PKG_CONFIG :=
|
|
|
|
#endif
|
|
|
|
else
|
|
|
|
# Building for GTK or debug
|
|
|
|
PKG_CONFIG := pkg-config
|
|
|
|
endif
|
2008-06-04 00:13:34 +04:00
|
|
|
endif
|
2007-12-23 00:15:58 +03:00
|
|
|
|
2008-04-07 23:13:11 +04:00
|
|
|
OBJROOT := build-$(HOST)-$(TARGET)$(SUBTARGET)
|
|
|
|
|
2008-07-29 00:56:24 +04:00
|
|
|
# ----------------------------------------------------------------------------
|
|
|
|
# General flag setup
|
|
|
|
# ----------------------------------------------------------------------------
|
|
|
|
|
2008-07-26 21:08:23 +04:00
|
|
|
include Makefile.config
|
|
|
|
|
2008-07-29 00:56:24 +04:00
|
|
|
# 1: Feature name (ie, NETSURF_USE_BMP -> BMP)
|
|
|
|
# 2: Parameters to add to CFLAGS
|
|
|
|
# 3: Parameters to add to LDFLAGS
|
2008-07-29 03:16:59 +04:00
|
|
|
# 4: Human-readable name for the feature
|
2008-07-29 00:56:24 +04:00
|
|
|
define feature_enabled
|
2008-07-29 03:16:59 +04:00
|
|
|
ifeq ($$(NETSURF_USE_$(1)),YES)
|
|
|
|
CFLAGS += $(2)
|
|
|
|
LDFLAGS += $(3)
|
2008-07-29 13:44:13 +04:00
|
|
|
ifneq ($(MAKECMDGOALS),clean)
|
|
|
|
$$(info M.CONFIG: building with $(4))
|
|
|
|
endif
|
2008-07-29 03:16:59 +04:00
|
|
|
else
|
2008-07-29 13:44:13 +04:00
|
|
|
ifneq ($(MAKECMDGOALS),clean)
|
|
|
|
$$(info M.CONFIG: building without $(4))
|
|
|
|
endif
|
2008-07-29 03:16:59 +04:00
|
|
|
endif
|
2008-07-29 00:56:24 +04:00
|
|
|
endef
|
|
|
|
|
2008-07-29 03:16:59 +04:00
|
|
|
# 1: Feature name (ie, NETSURF_USE_RSVG -> RSVG)
|
|
|
|
# 2: pkg-config required modules for feature
|
|
|
|
# 3: Human-readable name for the feature
|
|
|
|
define pkg_config_find_and_add
|
|
|
|
ifeq ($$(PKG_CONFIG),)
|
|
|
|
$$(error pkg-config is required to auto-detect feature availability)
|
|
|
|
endif
|
|
|
|
|
|
|
|
ifneq ($$(NETSURF_USE_$(1)),NO)
|
|
|
|
NETSURF_FEATURE_$(1)_AVAILABLE := $$(shell $$(PKG_CONFIG) --exists $(2) && echo yes)
|
|
|
|
ifeq ($$(NETSURF_USE_$(1)),AUTO)
|
|
|
|
ifeq ($$(NETSURF_FEATURE_$(1)_AVAILABLE),yes)
|
|
|
|
NETSURF_USE_$(1) := YES
|
|
|
|
endif
|
|
|
|
else
|
2008-07-29 13:44:13 +04:00
|
|
|
ifneq ($(MAKECMDGOALS),clean)
|
|
|
|
$$(info M.CONFIG: building with $(3))
|
|
|
|
endif
|
2008-07-29 03:16:59 +04:00
|
|
|
endif
|
|
|
|
ifeq ($$(NETSURF_USE_$(1)),YES)
|
|
|
|
ifeq ($$(NETSURF_FEATURE_$(1)_AVAILABLE),yes)
|
|
|
|
CFLAGS += $$(shell $$(PKG_CONFIG) --cflags $(2)) $$(NETSURF_FEATURE_$(1)_CFLAGS)
|
|
|
|
LDFLAGS += $$(shell $$(PKG_CONFIG) --libs $(2)) $$(NETSURF_FEATURE_$(1)_LDFLAGS)
|
2008-07-29 13:44:13 +04:00
|
|
|
ifneq ($(MAKECMDGOALS),clean)
|
|
|
|
$$(info M.CONFIG: auto-enabled $(3) ($(2)).)
|
|
|
|
endif
|
2008-07-29 03:16:59 +04:00
|
|
|
else
|
|
|
|
$$(error Unable to find library for: $(3) ($(2))
|
|
|
|
endif
|
|
|
|
endif
|
|
|
|
else
|
2008-07-29 13:44:13 +04:00
|
|
|
ifneq ($(MAKECMDGOALS),clean)
|
|
|
|
$$(info M.CONFIG: building without $(3))
|
|
|
|
endif
|
2008-07-29 03:16:59 +04:00
|
|
|
endif
|
|
|
|
endef
|
|
|
|
|
|
|
|
|
|
|
|
$(eval $(call feature_enabled,BMP,-DWITH_BMP,,BMP support))
|
|
|
|
$(eval $(call feature_enabled,GIF,-DWITH_GIF,,GIF support))
|
|
|
|
$(eval $(call feature_enabled,JPEG,-DWITH_JPEG,-ljpeg,JPEG support))
|
|
|
|
$(eval $(call feature_enabled,MNG,-DWITH_MNG,-lmng,PNG support))
|
2008-07-29 00:56:24 +04:00
|
|
|
|
2008-07-29 03:16:59 +04:00
|
|
|
$(eval $(call feature_enabled,HARU_PDF,-DWITH_PDF_EXPORT,-lhpdf -lpng,PDF export))
|
2008-08-09 03:47:11 +04:00
|
|
|
$(eval $(call feature_enabled,LIBICONV_PLUG,-DLIBICONV_PLUG,,glibc internal iconv))
|
2008-07-29 00:56:24 +04:00
|
|
|
|
|
|
|
# common libraries without pkg-config support
|
|
|
|
LDFLAGS += -lz
|
|
|
|
|
2008-07-29 19:10:31 +04:00
|
|
|
CFLAGS += -DNETSURF_UA_FORMAT_STRING=\"$(NETSURF_UA_FORMAT_STRING)\"
|
|
|
|
CFLAGS += -DNETSURF_HOMEPAGE=\"$(NETSURF_HOMEPAGE)\"
|
|
|
|
|
2008-07-29 00:56:24 +04:00
|
|
|
# ----------------------------------------------------------------------------
|
|
|
|
# RISC OS host flag setup
|
|
|
|
# ----------------------------------------------------------------------------
|
|
|
|
|
2008-07-29 01:55:46 +04:00
|
|
|
ifeq ($(TARGET),riscos)
|
2008-07-29 03:16:59 +04:00
|
|
|
ifeq ($(HOST),riscos)
|
|
|
|
LDFLAGS += -Xlinker -symbols=$(OBJROOT)/sym -lxml2 -lz -lm -lcurl -lssl \
|
|
|
|
-lcrypto -lcares
|
|
|
|
else
|
|
|
|
LDFLAGS += $(shell $(PKG_CONFIG) --libs libxml-2.0 libcurl openssl)
|
|
|
|
endif
|
2008-07-29 01:21:40 +04:00
|
|
|
|
2008-07-29 03:16:59 +04:00
|
|
|
$(eval $(call feature_enabled,NSSVG,-DWITH_NS_SVG,-lsvgtiny,SVG rendering))
|
|
|
|
$(eval $(call feature_enabled,DRAW,-DWITH_DRAW,-lpencil,Drawfile export))
|
2008-07-29 03:36:53 +04:00
|
|
|
$(eval $(call feature_enabled,SPRITE,-DWITH_SPRITE,,RISC OS sprite rendering))
|
2008-07-29 12:50:13 +04:00
|
|
|
$(eval $(call feature_enabled,ARTWORKS,-DWITH_ARTWORKS,,ArtWorks rendering))
|
2008-08-01 15:29:18 +04:00
|
|
|
$(eval $(call feature_enabled,PLUGINS,-DWITH_PLUGIN,,Plugin protocol support))
|
Merged revisions 4859-5013,5016-5018 via svnmerge from
svn://source.netsurf-browser.org/branches/takkaria/netsurf-hubbub
........
r4860 | takkaria | 2008-08-02 03:51:35 +0100 (Sat, 02 Aug 2008) | 2 lines
A really horribly rough first go at integrating hubbub with NetSurf. Segfaults, but I'm not sure what I've done wrong.
........
r4861 | jmb | 2008-08-02 05:01:19 +0100 (Sat, 02 Aug 2008) | 3 lines
Fix segfault caused by mismatched struct layout expectations.
Fix warnings, too.
........
r4862 | jmb | 2008-08-02 05:11:02 +0100 (Sat, 02 Aug 2008) | 2 lines
Destroy parser as soon as it's no longer needed, and flag this so that html_destroy doesn't cause things to trample all over the heap.
........
r4863 | takkaria | 2008-08-02 15:30:34 +0100 (Sat, 02 Aug 2008) | 2 lines
Remove deugging printf()s, add Aliases file, add script { display: none; } block.
........
r4868 | takkaria | 2008-08-02 22:14:55 +0100 (Sat, 02 Aug 2008) | 2 lines
Fix a segfault bug.
........
r4869 | takkaria | 2008-08-02 22:17:58 +0100 (Sat, 02 Aug 2008) | 2 lines
Add gtk/res/Aliases as a symlink to the one in !NS/Resources
........
r4870 | takkaria | 2008-08-02 22:26:31 +0100 (Sat, 02 Aug 2008) | 2 lines
Fix symlink.
........
r4885 | jmb | 2008-08-03 23:26:54 +0100 (Sun, 03 Aug 2008) | 2 lines
Make multiple parallel parser instances work correctly.
........
r4886 | tlsa | 2008-08-04 00:21:29 +0100 (Mon, 04 Aug 2008) | 1 line
Don't display contents of STYLE.
........
r4891 | jmb | 2008-08-04 01:18:07 +0100 (Mon, 04 Aug 2008) | 5 lines
Fix reparent_children to actually work
Make get_parent_node pay attention to the element_only flag
Fixup node referencing when appending a text child
Make clone_node clone attributes and namespace information in the non-deep case
........
r4918 | jmb | 2008-08-05 15:27:03 +0100 (Tue, 05 Aug 2008) | 2 lines
Fix debug target
........
r4944 | takkaria | 2008-08-07 12:56:50 +0100 (Thu, 07 Aug 2008) | 2 lines
Use talloc to allocate space for Hubbub.
........
r4993 | takkaria | 2008-08-10 17:49:47 +0100 (Sun, 10 Aug 2008) | 2 lines
Stub out the encoding change callback so NS-hubbub compiles again.
........
r4994 | takkaria | 2008-08-10 18:02:33 +0100 (Sun, 10 Aug 2008) | 2 lines
Tell Hubbub the encoding that HTTP gives us, if we have one.
........
r5001 | takkaria | 2008-08-11 02:53:24 +0100 (Mon, 11 Aug 2008) | 2 lines
First go at implementing proper <meta charset> support in NetSurf, amongst some refactoring. Probably works, but I have no pages around to test it on.
........
r5002 | takkaria | 2008-08-11 02:56:35 +0100 (Mon, 11 Aug 2008) | 2 lines
Fix (I hope) a 64-bit compiler warning.
........
r5012 | takkaria | 2008-08-11 08:40:28 +0100 (Mon, 11 Aug 2008) | 2 lines
Fix some nits from jmb. (Remove const from html->encoding, set encoding_source to something about right.)
........
r5013 | takkaria | 2008-08-11 08:48:50 +0100 (Mon, 11 Aug 2008) | 2 lines
Properly fix <meta charset> handling, by passing in the right thing as the context. No idea how this worked before. :) (credit: jmb)
........
r5017 | jmb | 2008-08-11 09:13:22 +0100 (Mon, 11 Aug 2008) | 7 lines
Pedantic typo fix.
Make Hubbub YES when building for RISC OS.
Make Hubbub AUTO when building for GTK
Ignore the presence of Hubbub on other platforms.
Remove the explicit libparserutils pkg-config stuff from the makefile (see r5016)
Add some logic that means Hubbub gets enabled correctly when building on RISC OS and when cross-compiling for it. (This is ugly and will go away when pkg-config is available on RO)
........
svn path=/trunk/netsurf/; revision=5019
2008-08-11 12:17:48 +04:00
|
|
|
ifeq ($(HOST),riscos)
|
|
|
|
$(eval $(call feature_enabled,HUBBUB,-DWITH_HUBBUB,-lhubbub -lparserutils,Hubbub HTML parser))
|
|
|
|
else
|
|
|
|
NETSURF_FEATURE_HUBBUB_CFLAGS := -DWITH_HUBBUB
|
|
|
|
$(eval $(call pkg_config_find_and_add,HUBBUB,libhubbub,Hubbub HTML parser))
|
|
|
|
endif
|
2008-07-29 00:56:24 +04:00
|
|
|
endif
|
|
|
|
|
|
|
|
# ----------------------------------------------------------------------------
|
|
|
|
# BeOS flag setup
|
|
|
|
# ----------------------------------------------------------------------------
|
|
|
|
|
2008-06-04 00:13:34 +04:00
|
|
|
ifeq ($(HOST),beos)
|
2008-07-29 03:16:59 +04:00
|
|
|
LDFLAGS += -L/boot/home/config/lib
|
2008-07-29 12:57:51 +04:00
|
|
|
# some people do *not* have libm...
|
2008-07-29 03:16:59 +04:00
|
|
|
LDFLAGS += -lxml2 -lz -lcurl -lssl -lcrypto -liconv
|
2008-03-19 18:54:07 +03:00
|
|
|
endif
|
2007-12-23 00:15:58 +03:00
|
|
|
|
2008-07-29 00:56:24 +04:00
|
|
|
# ----------------------------------------------------------------------------
|
|
|
|
# GTK flag setup (using pkg-config)
|
|
|
|
# ----------------------------------------------------------------------------
|
2007-12-23 00:15:58 +03:00
|
|
|
|
2008-07-29 00:56:24 +04:00
|
|
|
ifeq ($(TARGET),gtk)
|
2008-07-29 03:16:59 +04:00
|
|
|
LDFLAGS += $(shell $(PKG_CONFIG) --libs libxml-2.0 libcurl openssl)
|
|
|
|
|
|
|
|
# define additional CFLAGS and LDFLAGS requirements for pkg-configed libs here
|
|
|
|
NETSURF_FEATURE_RSVG_CFLAGS := -DWITH_RSVG
|
|
|
|
NETSURF_FEATURE_ROSPRITE_CFLAGS := -DWITH_NSSPRITE
|
Merged revisions 4859-5013,5016-5018 via svnmerge from
svn://source.netsurf-browser.org/branches/takkaria/netsurf-hubbub
........
r4860 | takkaria | 2008-08-02 03:51:35 +0100 (Sat, 02 Aug 2008) | 2 lines
A really horribly rough first go at integrating hubbub with NetSurf. Segfaults, but I'm not sure what I've done wrong.
........
r4861 | jmb | 2008-08-02 05:01:19 +0100 (Sat, 02 Aug 2008) | 3 lines
Fix segfault caused by mismatched struct layout expectations.
Fix warnings, too.
........
r4862 | jmb | 2008-08-02 05:11:02 +0100 (Sat, 02 Aug 2008) | 2 lines
Destroy parser as soon as it's no longer needed, and flag this so that html_destroy doesn't cause things to trample all over the heap.
........
r4863 | takkaria | 2008-08-02 15:30:34 +0100 (Sat, 02 Aug 2008) | 2 lines
Remove deugging printf()s, add Aliases file, add script { display: none; } block.
........
r4868 | takkaria | 2008-08-02 22:14:55 +0100 (Sat, 02 Aug 2008) | 2 lines
Fix a segfault bug.
........
r4869 | takkaria | 2008-08-02 22:17:58 +0100 (Sat, 02 Aug 2008) | 2 lines
Add gtk/res/Aliases as a symlink to the one in !NS/Resources
........
r4870 | takkaria | 2008-08-02 22:26:31 +0100 (Sat, 02 Aug 2008) | 2 lines
Fix symlink.
........
r4885 | jmb | 2008-08-03 23:26:54 +0100 (Sun, 03 Aug 2008) | 2 lines
Make multiple parallel parser instances work correctly.
........
r4886 | tlsa | 2008-08-04 00:21:29 +0100 (Mon, 04 Aug 2008) | 1 line
Don't display contents of STYLE.
........
r4891 | jmb | 2008-08-04 01:18:07 +0100 (Mon, 04 Aug 2008) | 5 lines
Fix reparent_children to actually work
Make get_parent_node pay attention to the element_only flag
Fixup node referencing when appending a text child
Make clone_node clone attributes and namespace information in the non-deep case
........
r4918 | jmb | 2008-08-05 15:27:03 +0100 (Tue, 05 Aug 2008) | 2 lines
Fix debug target
........
r4944 | takkaria | 2008-08-07 12:56:50 +0100 (Thu, 07 Aug 2008) | 2 lines
Use talloc to allocate space for Hubbub.
........
r4993 | takkaria | 2008-08-10 17:49:47 +0100 (Sun, 10 Aug 2008) | 2 lines
Stub out the encoding change callback so NS-hubbub compiles again.
........
r4994 | takkaria | 2008-08-10 18:02:33 +0100 (Sun, 10 Aug 2008) | 2 lines
Tell Hubbub the encoding that HTTP gives us, if we have one.
........
r5001 | takkaria | 2008-08-11 02:53:24 +0100 (Mon, 11 Aug 2008) | 2 lines
First go at implementing proper <meta charset> support in NetSurf, amongst some refactoring. Probably works, but I have no pages around to test it on.
........
r5002 | takkaria | 2008-08-11 02:56:35 +0100 (Mon, 11 Aug 2008) | 2 lines
Fix (I hope) a 64-bit compiler warning.
........
r5012 | takkaria | 2008-08-11 08:40:28 +0100 (Mon, 11 Aug 2008) | 2 lines
Fix some nits from jmb. (Remove const from html->encoding, set encoding_source to something about right.)
........
r5013 | takkaria | 2008-08-11 08:48:50 +0100 (Mon, 11 Aug 2008) | 2 lines
Properly fix <meta charset> handling, by passing in the right thing as the context. No idea how this worked before. :) (credit: jmb)
........
r5017 | jmb | 2008-08-11 09:13:22 +0100 (Mon, 11 Aug 2008) | 7 lines
Pedantic typo fix.
Make Hubbub YES when building for RISC OS.
Make Hubbub AUTO when building for GTK
Ignore the presence of Hubbub on other platforms.
Remove the explicit libparserutils pkg-config stuff from the makefile (see r5016)
Add some logic that means Hubbub gets enabled correctly when building on RISC OS and when cross-compiling for it. (This is ugly and will go away when pkg-config is available on RO)
........
svn path=/trunk/netsurf/; revision=5019
2008-08-11 12:17:48 +04:00
|
|
|
NETSURF_FEATURE_HUBBUB_CFLAGS := -DWITH_HUBBUB
|
2008-07-29 03:16:59 +04:00
|
|
|
|
|
|
|
# add a line similar to below for each optional pkg-configed lib here
|
|
|
|
$(eval $(call pkg_config_find_and_add,RSVG,librsvg-2.0,SVG rendering))
|
|
|
|
$(eval $(call pkg_config_find_and_add,ROSPRITE,librosprite,RISC OS sprite rendering))
|
Merged revisions 4859-5013,5016-5018 via svnmerge from
svn://source.netsurf-browser.org/branches/takkaria/netsurf-hubbub
........
r4860 | takkaria | 2008-08-02 03:51:35 +0100 (Sat, 02 Aug 2008) | 2 lines
A really horribly rough first go at integrating hubbub with NetSurf. Segfaults, but I'm not sure what I've done wrong.
........
r4861 | jmb | 2008-08-02 05:01:19 +0100 (Sat, 02 Aug 2008) | 3 lines
Fix segfault caused by mismatched struct layout expectations.
Fix warnings, too.
........
r4862 | jmb | 2008-08-02 05:11:02 +0100 (Sat, 02 Aug 2008) | 2 lines
Destroy parser as soon as it's no longer needed, and flag this so that html_destroy doesn't cause things to trample all over the heap.
........
r4863 | takkaria | 2008-08-02 15:30:34 +0100 (Sat, 02 Aug 2008) | 2 lines
Remove deugging printf()s, add Aliases file, add script { display: none; } block.
........
r4868 | takkaria | 2008-08-02 22:14:55 +0100 (Sat, 02 Aug 2008) | 2 lines
Fix a segfault bug.
........
r4869 | takkaria | 2008-08-02 22:17:58 +0100 (Sat, 02 Aug 2008) | 2 lines
Add gtk/res/Aliases as a symlink to the one in !NS/Resources
........
r4870 | takkaria | 2008-08-02 22:26:31 +0100 (Sat, 02 Aug 2008) | 2 lines
Fix symlink.
........
r4885 | jmb | 2008-08-03 23:26:54 +0100 (Sun, 03 Aug 2008) | 2 lines
Make multiple parallel parser instances work correctly.
........
r4886 | tlsa | 2008-08-04 00:21:29 +0100 (Mon, 04 Aug 2008) | 1 line
Don't display contents of STYLE.
........
r4891 | jmb | 2008-08-04 01:18:07 +0100 (Mon, 04 Aug 2008) | 5 lines
Fix reparent_children to actually work
Make get_parent_node pay attention to the element_only flag
Fixup node referencing when appending a text child
Make clone_node clone attributes and namespace information in the non-deep case
........
r4918 | jmb | 2008-08-05 15:27:03 +0100 (Tue, 05 Aug 2008) | 2 lines
Fix debug target
........
r4944 | takkaria | 2008-08-07 12:56:50 +0100 (Thu, 07 Aug 2008) | 2 lines
Use talloc to allocate space for Hubbub.
........
r4993 | takkaria | 2008-08-10 17:49:47 +0100 (Sun, 10 Aug 2008) | 2 lines
Stub out the encoding change callback so NS-hubbub compiles again.
........
r4994 | takkaria | 2008-08-10 18:02:33 +0100 (Sun, 10 Aug 2008) | 2 lines
Tell Hubbub the encoding that HTTP gives us, if we have one.
........
r5001 | takkaria | 2008-08-11 02:53:24 +0100 (Mon, 11 Aug 2008) | 2 lines
First go at implementing proper <meta charset> support in NetSurf, amongst some refactoring. Probably works, but I have no pages around to test it on.
........
r5002 | takkaria | 2008-08-11 02:56:35 +0100 (Mon, 11 Aug 2008) | 2 lines
Fix (I hope) a 64-bit compiler warning.
........
r5012 | takkaria | 2008-08-11 08:40:28 +0100 (Mon, 11 Aug 2008) | 2 lines
Fix some nits from jmb. (Remove const from html->encoding, set encoding_source to something about right.)
........
r5013 | takkaria | 2008-08-11 08:48:50 +0100 (Mon, 11 Aug 2008) | 2 lines
Properly fix <meta charset> handling, by passing in the right thing as the context. No idea how this worked before. :) (credit: jmb)
........
r5017 | jmb | 2008-08-11 09:13:22 +0100 (Mon, 11 Aug 2008) | 7 lines
Pedantic typo fix.
Make Hubbub YES when building for RISC OS.
Make Hubbub AUTO when building for GTK
Ignore the presence of Hubbub on other platforms.
Remove the explicit libparserutils pkg-config stuff from the makefile (see r5016)
Add some logic that means Hubbub gets enabled correctly when building on RISC OS and when cross-compiling for it. (This is ugly and will go away when pkg-config is available on RO)
........
svn path=/trunk/netsurf/; revision=5019
2008-08-11 12:17:48 +04:00
|
|
|
$(eval $(call pkg_config_find_and_add,HUBBUB,libhubbub,Hubbub HTML parser))
|
2008-07-29 03:16:59 +04:00
|
|
|
|
|
|
|
GTKCFLAGS := -std=c99 -Dgtk -Dnsgtk \
|
|
|
|
-DGTK_DISABLE_DEPRECATED \
|
|
|
|
-D_BSD_SOURCE \
|
|
|
|
-D_XOPEN_SOURCE=600 \
|
|
|
|
-D_POSIX_C_SOURCE=200112L \
|
|
|
|
-D_NETBSD_SOURCE \
|
|
|
|
-DGTK_RESPATH=\"$(NETSURF_GTK_RESOURCES)\" \
|
|
|
|
$(WARNFLAGS) -I. -g $(OPT2FLAGS) \
|
|
|
|
$(shell $(PKG_CONFIG) --cflags libglade-2.0 gtk+-2.0) \
|
|
|
|
$(shell xml2-config --cflags)
|
|
|
|
|
|
|
|
GTKLDFLAGS := $(shell $(PKG_CONFIG) --cflags --libs libglade-2.0 gtk+-2.0 gthread-2.0 gmodule-2.0 lcms)
|
|
|
|
|
|
|
|
CFLAGS += $(GTKCFLAGS)
|
|
|
|
LDFLAGS += $(GTKLDFLAGS)
|
|
|
|
|
|
|
|
# ----------------------------------------------------------------------------
|
|
|
|
# Windows flag setup
|
|
|
|
# ----------------------------------------------------------------------------
|
|
|
|
|
|
|
|
ifeq ($(HOST),Windows_NT)
|
|
|
|
CFLAGS += -U__STRICT_ANSI__
|
2008-07-26 21:08:23 +04:00
|
|
|
endif
|
2007-12-23 00:15:58 +03:00
|
|
|
endif
|
|
|
|
|
2008-07-29 00:56:24 +04:00
|
|
|
# ----------------------------------------------------------------------------
|
|
|
|
# RISC OS target flag setup
|
|
|
|
# ----------------------------------------------------------------------------
|
|
|
|
|
2007-12-23 00:15:58 +03:00
|
|
|
ifeq ($(TARGET),riscos)
|
2008-08-07 01:46:53 +04:00
|
|
|
TPD_RISCOS = $(foreach TPL,$(notdir $(TPL_RISCOS)), \
|
|
|
|
!NetSurf/Resources/$(TPL)/Templates$(TPLEXT))
|
|
|
|
|
|
|
|
RESOURCES = $(TPD_RISCOS)
|
|
|
|
|
2008-07-29 03:16:59 +04:00
|
|
|
CFLAGS += -I. $(OPTFLAGS) $(WARNFLAGS) -Driscos \
|
|
|
|
-std=c99 -D_BSD_SOURCE -D_POSIX_C_SOURCE \
|
|
|
|
-mpoke-function-name
|
|
|
|
|
|
|
|
CFLAGS += -I$(GCCSDK_INSTALL_ENV)/include \
|
|
|
|
-I$(GCCSDK_INSTALL_ENV)/include/libxml2 \
|
|
|
|
-I$(GCCSDK_INSTALL_ENV)/include/libmng
|
|
|
|
ifeq ($(HOST),riscos)
|
|
|
|
CFLAGS += -I<OSLib$$Dir> -mthrowback
|
|
|
|
endif
|
|
|
|
ASFLAGS += -xassembler-with-cpp -I. -I$(GCCSDK_INSTALL_ENV)/include
|
|
|
|
LDFLAGS += -L$(GCCSDK_INSTALL_ENV)/lib -lrufl
|
|
|
|
ifeq ($(HOST),riscos)
|
|
|
|
LDFLAGS += -LOSLib: -lOSLib32
|
|
|
|
else
|
|
|
|
LDFLAGS += -lOSLib32
|
|
|
|
ifeq ($(SUBTARGET),-elf)
|
|
|
|
# Go for static builds & AIF binary at the moment:
|
|
|
|
CFLAGS += -static
|
|
|
|
LDFLAGS += -static
|
|
|
|
EXEEXT := ,ff8
|
|
|
|
endif
|
|
|
|
endif
|
2008-03-22 03:49:56 +03:00
|
|
|
endif
|
|
|
|
|
2008-07-29 00:56:24 +04:00
|
|
|
# ----------------------------------------------------------------------------
|
|
|
|
# BeOS target flag setup
|
|
|
|
# ----------------------------------------------------------------------------
|
|
|
|
|
2008-06-04 00:13:34 +04:00
|
|
|
ifeq ($(TARGET),beos)
|
2008-07-29 03:16:59 +04:00
|
|
|
CFLAGS += -I. -O $(WARNFLAGS) -Dnsbeos \
|
|
|
|
-D_BSD_SOURCE -D_POSIX_C_SOURCE \
|
|
|
|
-Drestrict="" -Wno-multichar
|
|
|
|
# DEBUG
|
|
|
|
CFLAGS += -g -O0
|
|
|
|
# -DDEBUG=1
|
|
|
|
|
|
|
|
BEOS_BERES := beres
|
|
|
|
BEOS_RC := rc
|
|
|
|
BEOS_XRES := xres
|
|
|
|
BEOS_SETVER := setversion
|
|
|
|
BEOS_MIMESET := mimeset
|
|
|
|
VERSION_FULL := $(shell sed -n '/"/{s/.*"\(.*\)".*/\1/;p;}' desktop/version.c)
|
|
|
|
VERSION_MAJ := $(shell sed -n '/_major/{s/.* = \([0-9]*\).*/\1/;p;}' desktop/version.c)
|
|
|
|
VERSION_MIN := $(shell sed -n '/_minor/{s/.* = \([0-9]*\).*/\1/;p;}' desktop/version.c)
|
|
|
|
RSRC_BEOS = $(addprefix $(OBJROOT)/,$(subst /,_,$(patsubst %.rdef,%.rsrc,$(RDEF_BEOS))))
|
|
|
|
RESOURCES = $(RSRC_BEOS)
|
|
|
|
ifeq ($(HOST),beos)
|
|
|
|
CFLAGS += -I/boot/home/config/include \
|
|
|
|
-I/boot/home/config/include/libxml2 \
|
|
|
|
-I/boot/home/config/include/libmng
|
|
|
|
ifneq ($(wildcard /boot/develop/lib/*/libzeta.so),)
|
|
|
|
LDFLAGS += -lzeta
|
|
|
|
endif
|
|
|
|
ifneq ($(wildcard /boot/develop/lib/*/libnetwork.so),)
|
|
|
|
# Haiku
|
|
|
|
NETLDFLAGS := -lnetwork
|
|
|
|
else
|
|
|
|
ifneq ($(wildcard /boot/develop/lib/*/libbind.so),)
|
|
|
|
# BONE
|
|
|
|
NETLDFLAGS := -lsocket -lbind
|
|
|
|
else
|
|
|
|
# net_server, will probably never work
|
|
|
|
NETLDFLAGS := -lnet
|
|
|
|
endif
|
|
|
|
endif
|
|
|
|
else
|
|
|
|
# cross: Haiku ?
|
|
|
|
NETLDFLAGS := -lnetwork
|
|
|
|
endif
|
|
|
|
LDFLAGS += -lbe -ltranslation $(NETLDFLAGS)
|
2008-06-04 00:13:34 +04:00
|
|
|
endif
|
|
|
|
|
2008-08-02 18:35:40 +04:00
|
|
|
# ----------------------------------------------------------------------------
|
|
|
|
# Amiga target setup
|
|
|
|
# ----------------------------------------------------------------------------
|
|
|
|
|
|
|
|
ifeq ($(TARGET),amiga)
|
|
|
|
CFLAGS += -mcrt=newlib -D__USE_INLINE__ -std=c99 -I .
|
2008-08-09 19:17:18 +04:00
|
|
|
LDFLAGS += -lxml2 -lz -ljpeg -lcurl -lm -lmng -lsocket -lpthread -lrosprite -lregex -lauto -lraauto -lssl -lcrypto -lamisslauto -mcrt=newlib
|
2008-08-02 18:35:40 +04:00
|
|
|
endif
|
|
|
|
|
2008-07-29 00:56:24 +04:00
|
|
|
# ----------------------------------------------------------------------------
|
|
|
|
# Debug target setup
|
|
|
|
# ----------------------------------------------------------------------------
|
2008-06-04 00:13:34 +04:00
|
|
|
|
2008-05-26 03:28:06 +04:00
|
|
|
ifeq ($(TARGET),debug)
|
2008-07-29 03:16:59 +04:00
|
|
|
CFLAGS += -std=c99 -DDEBUG_BUILD \
|
|
|
|
-D_BSD_SOURCE \
|
|
|
|
-D_XOPEN_SOURCE=600 \
|
|
|
|
-D_POSIX_C_SOURCE=200112L \
|
|
|
|
-D_NETBSD_SOURCE \
|
Merged revisions 4859-5013,5016-5018 via svnmerge from
svn://source.netsurf-browser.org/branches/takkaria/netsurf-hubbub
........
r4860 | takkaria | 2008-08-02 03:51:35 +0100 (Sat, 02 Aug 2008) | 2 lines
A really horribly rough first go at integrating hubbub with NetSurf. Segfaults, but I'm not sure what I've done wrong.
........
r4861 | jmb | 2008-08-02 05:01:19 +0100 (Sat, 02 Aug 2008) | 3 lines
Fix segfault caused by mismatched struct layout expectations.
Fix warnings, too.
........
r4862 | jmb | 2008-08-02 05:11:02 +0100 (Sat, 02 Aug 2008) | 2 lines
Destroy parser as soon as it's no longer needed, and flag this so that html_destroy doesn't cause things to trample all over the heap.
........
r4863 | takkaria | 2008-08-02 15:30:34 +0100 (Sat, 02 Aug 2008) | 2 lines
Remove deugging printf()s, add Aliases file, add script { display: none; } block.
........
r4868 | takkaria | 2008-08-02 22:14:55 +0100 (Sat, 02 Aug 2008) | 2 lines
Fix a segfault bug.
........
r4869 | takkaria | 2008-08-02 22:17:58 +0100 (Sat, 02 Aug 2008) | 2 lines
Add gtk/res/Aliases as a symlink to the one in !NS/Resources
........
r4870 | takkaria | 2008-08-02 22:26:31 +0100 (Sat, 02 Aug 2008) | 2 lines
Fix symlink.
........
r4885 | jmb | 2008-08-03 23:26:54 +0100 (Sun, 03 Aug 2008) | 2 lines
Make multiple parallel parser instances work correctly.
........
r4886 | tlsa | 2008-08-04 00:21:29 +0100 (Mon, 04 Aug 2008) | 1 line
Don't display contents of STYLE.
........
r4891 | jmb | 2008-08-04 01:18:07 +0100 (Mon, 04 Aug 2008) | 5 lines
Fix reparent_children to actually work
Make get_parent_node pay attention to the element_only flag
Fixup node referencing when appending a text child
Make clone_node clone attributes and namespace information in the non-deep case
........
r4918 | jmb | 2008-08-05 15:27:03 +0100 (Tue, 05 Aug 2008) | 2 lines
Fix debug target
........
r4944 | takkaria | 2008-08-07 12:56:50 +0100 (Thu, 07 Aug 2008) | 2 lines
Use talloc to allocate space for Hubbub.
........
r4993 | takkaria | 2008-08-10 17:49:47 +0100 (Sun, 10 Aug 2008) | 2 lines
Stub out the encoding change callback so NS-hubbub compiles again.
........
r4994 | takkaria | 2008-08-10 18:02:33 +0100 (Sun, 10 Aug 2008) | 2 lines
Tell Hubbub the encoding that HTTP gives us, if we have one.
........
r5001 | takkaria | 2008-08-11 02:53:24 +0100 (Mon, 11 Aug 2008) | 2 lines
First go at implementing proper <meta charset> support in NetSurf, amongst some refactoring. Probably works, but I have no pages around to test it on.
........
r5002 | takkaria | 2008-08-11 02:56:35 +0100 (Mon, 11 Aug 2008) | 2 lines
Fix (I hope) a 64-bit compiler warning.
........
r5012 | takkaria | 2008-08-11 08:40:28 +0100 (Mon, 11 Aug 2008) | 2 lines
Fix some nits from jmb. (Remove const from html->encoding, set encoding_source to something about right.)
........
r5013 | takkaria | 2008-08-11 08:48:50 +0100 (Mon, 11 Aug 2008) | 2 lines
Properly fix <meta charset> handling, by passing in the right thing as the context. No idea how this worked before. :) (credit: jmb)
........
r5017 | jmb | 2008-08-11 09:13:22 +0100 (Mon, 11 Aug 2008) | 7 lines
Pedantic typo fix.
Make Hubbub YES when building for RISC OS.
Make Hubbub AUTO when building for GTK
Ignore the presence of Hubbub on other platforms.
Remove the explicit libparserutils pkg-config stuff from the makefile (see r5016)
Add some logic that means Hubbub gets enabled correctly when building on RISC OS and when cross-compiling for it. (This is ugly and will go away when pkg-config is available on RO)
........
svn path=/trunk/netsurf/; revision=5019
2008-08-11 12:17:48 +04:00
|
|
|
$(WARNFLAGS) -I. -g $(OPT0FLAGS) \
|
2008-07-29 03:16:59 +04:00
|
|
|
$(shell xml2-config --cflags)
|
Merged revisions 4859-5013,5016-5018 via svnmerge from
svn://source.netsurf-browser.org/branches/takkaria/netsurf-hubbub
........
r4860 | takkaria | 2008-08-02 03:51:35 +0100 (Sat, 02 Aug 2008) | 2 lines
A really horribly rough first go at integrating hubbub with NetSurf. Segfaults, but I'm not sure what I've done wrong.
........
r4861 | jmb | 2008-08-02 05:01:19 +0100 (Sat, 02 Aug 2008) | 3 lines
Fix segfault caused by mismatched struct layout expectations.
Fix warnings, too.
........
r4862 | jmb | 2008-08-02 05:11:02 +0100 (Sat, 02 Aug 2008) | 2 lines
Destroy parser as soon as it's no longer needed, and flag this so that html_destroy doesn't cause things to trample all over the heap.
........
r4863 | takkaria | 2008-08-02 15:30:34 +0100 (Sat, 02 Aug 2008) | 2 lines
Remove deugging printf()s, add Aliases file, add script { display: none; } block.
........
r4868 | takkaria | 2008-08-02 22:14:55 +0100 (Sat, 02 Aug 2008) | 2 lines
Fix a segfault bug.
........
r4869 | takkaria | 2008-08-02 22:17:58 +0100 (Sat, 02 Aug 2008) | 2 lines
Add gtk/res/Aliases as a symlink to the one in !NS/Resources
........
r4870 | takkaria | 2008-08-02 22:26:31 +0100 (Sat, 02 Aug 2008) | 2 lines
Fix symlink.
........
r4885 | jmb | 2008-08-03 23:26:54 +0100 (Sun, 03 Aug 2008) | 2 lines
Make multiple parallel parser instances work correctly.
........
r4886 | tlsa | 2008-08-04 00:21:29 +0100 (Mon, 04 Aug 2008) | 1 line
Don't display contents of STYLE.
........
r4891 | jmb | 2008-08-04 01:18:07 +0100 (Mon, 04 Aug 2008) | 5 lines
Fix reparent_children to actually work
Make get_parent_node pay attention to the element_only flag
Fixup node referencing when appending a text child
Make clone_node clone attributes and namespace information in the non-deep case
........
r4918 | jmb | 2008-08-05 15:27:03 +0100 (Tue, 05 Aug 2008) | 2 lines
Fix debug target
........
r4944 | takkaria | 2008-08-07 12:56:50 +0100 (Thu, 07 Aug 2008) | 2 lines
Use talloc to allocate space for Hubbub.
........
r4993 | takkaria | 2008-08-10 17:49:47 +0100 (Sun, 10 Aug 2008) | 2 lines
Stub out the encoding change callback so NS-hubbub compiles again.
........
r4994 | takkaria | 2008-08-10 18:02:33 +0100 (Sun, 10 Aug 2008) | 2 lines
Tell Hubbub the encoding that HTTP gives us, if we have one.
........
r5001 | takkaria | 2008-08-11 02:53:24 +0100 (Mon, 11 Aug 2008) | 2 lines
First go at implementing proper <meta charset> support in NetSurf, amongst some refactoring. Probably works, but I have no pages around to test it on.
........
r5002 | takkaria | 2008-08-11 02:56:35 +0100 (Mon, 11 Aug 2008) | 2 lines
Fix (I hope) a 64-bit compiler warning.
........
r5012 | takkaria | 2008-08-11 08:40:28 +0100 (Mon, 11 Aug 2008) | 2 lines
Fix some nits from jmb. (Remove const from html->encoding, set encoding_source to something about right.)
........
r5013 | takkaria | 2008-08-11 08:48:50 +0100 (Mon, 11 Aug 2008) | 2 lines
Properly fix <meta charset> handling, by passing in the right thing as the context. No idea how this worked before. :) (credit: jmb)
........
r5017 | jmb | 2008-08-11 09:13:22 +0100 (Mon, 11 Aug 2008) | 7 lines
Pedantic typo fix.
Make Hubbub YES when building for RISC OS.
Make Hubbub AUTO when building for GTK
Ignore the presence of Hubbub on other platforms.
Remove the explicit libparserutils pkg-config stuff from the makefile (see r5016)
Add some logic that means Hubbub gets enabled correctly when building on RISC OS and when cross-compiling for it. (This is ugly and will go away when pkg-config is available on RO)
........
svn path=/trunk/netsurf/; revision=5019
2008-08-11 12:17:48 +04:00
|
|
|
LDFLAGS += $(shell $(PKG_CONFIG) --libs libxml-2.0 libcurl openssl)
|
|
|
|
|
|
|
|
$(eval $(call pkg_config_find_and_add,RSVG,librsvg-2.0,SVG rendering))
|
|
|
|
$(eval $(call pkg_config_find_and_add,ROSPRITE,librosprite,RISC OS sprite rendering))
|
|
|
|
$(eval $(call pkg_config_find_and_add,HUBBUB,libhubbub,Hubbub HTML parser))
|
|
|
|
$(eval $(call pkg_config_find_and_add,HUBBUB,libparserutils,Hubbub HTML parser))
|
2008-05-26 03:28:06 +04:00
|
|
|
endif
|
|
|
|
|
2008-07-29 00:56:24 +04:00
|
|
|
# ----------------------------------------------------------------------------
|
|
|
|
# General make rules
|
|
|
|
# ----------------------------------------------------------------------------
|
|
|
|
|
2008-03-22 03:49:56 +03:00
|
|
|
$(OBJROOT)/created:
|
|
|
|
$(VQ)echo " MKDIR: $(OBJROOT)"
|
|
|
|
$(Q)$(MKDIR) $(OBJROOT)
|
|
|
|
$(Q)$(TOUCH) $(OBJROOT)/created
|
|
|
|
|
|
|
|
DEPROOT := $(OBJROOT)/deps
|
|
|
|
$(DEPROOT)/created: $(OBJROOT)/created
|
|
|
|
$(VQ)echo " MKDIR: $(DEPROOT)"
|
|
|
|
$(Q)$(MKDIR) $(DEPROOT)
|
|
|
|
$(Q)$(TOUCH) $(DEPROOT)/created
|
|
|
|
|
|
|
|
WARNFLAGS = -W -Wall -Wundef -Wpointer-arith \
|
|
|
|
-Wcast-align -Wwrite-strings -Wstrict-prototypes \
|
|
|
|
-Wmissing-prototypes -Wmissing-declarations -Wredundant-decls \
|
2008-06-04 00:13:34 +04:00
|
|
|
-Wnested-externs -Winline
|
|
|
|
ifneq ($(GCCVER),2)
|
2008-07-29 03:16:59 +04:00
|
|
|
WARNFLAGS += -Wno-unused-parameter
|
2008-06-04 00:13:34 +04:00
|
|
|
endif
|
2008-05-26 14:16:01 +04:00
|
|
|
|
|
|
|
OPT0FLAGS = -O0
|
|
|
|
# -O and -O2 can use -Wuninitialized which gives us more static checking.
|
|
|
|
# unfortunately the optimiser is what provides the hints in the code tree
|
|
|
|
# so we cannot do it when we do -O0 (E.g. debug)
|
|
|
|
OPTFLAGS = -O -Wuninitialized
|
|
|
|
OPT2FLAGS = -O2 -Wuninitialized
|
2007-12-23 00:15:58 +03:00
|
|
|
|
|
|
|
CLEANS := clean-target
|
|
|
|
|
|
|
|
include Makefile.sources
|
|
|
|
|
2008-06-04 00:13:34 +04:00
|
|
|
OBJECTS := $(sort $(addprefix $(OBJROOT)/,$(subst /,_,$(patsubst %.c,%.o,$(patsubst %.cpp,%.o,$(patsubst %.s,%.o,$(SOURCES)))))))
|
2007-12-23 00:15:58 +03:00
|
|
|
|
2008-06-04 00:13:34 +04:00
|
|
|
$(EXETARGET): $(OBJECTS) $(RESOURCES)
|
2007-12-23 00:15:58 +03:00
|
|
|
$(VQ)echo " LINK: $(EXETARGET)"
|
2008-03-22 03:49:56 +03:00
|
|
|
ifneq ($(TARGET)$(SUBTARGET),riscos-elf)
|
2008-03-20 16:21:53 +03:00
|
|
|
$(Q)$(CC) -o $(EXETARGET) $(OBJECTS) $(LDFLAGS)
|
2008-03-22 03:49:56 +03:00
|
|
|
else
|
|
|
|
$(Q)$(CC) -o $(EXETARGET:,ff8=,e1f) $(OBJECTS) $(LDFLAGS)
|
|
|
|
$(Q)$(ELF2AIF) $(EXETARGET:,ff8=,e1f) $(EXETARGET)
|
|
|
|
$(Q)$(RM) $(EXETARGET:,ff8=,e1f)
|
|
|
|
endif
|
2008-07-29 12:57:51 +04:00
|
|
|
ifeq ($(NETSURF_STRIP_BINARY),YES)
|
|
|
|
$(VQ)echo " STRIP: $(EXETARGET)"
|
|
|
|
$(Q)$(STRIP) $(EXETARGET)
|
|
|
|
endif
|
2008-06-04 00:13:34 +04:00
|
|
|
ifeq ($(TARGET),beos)
|
|
|
|
$(VQ)echo " XRES: $(EXETARGET)"
|
|
|
|
$(Q)$(BEOS_XRES) -o $(EXETARGET) $(RSRC_BEOS)
|
|
|
|
$(VQ)echo " SETVER: $(EXETARGET)"
|
|
|
|
$(Q)$(BEOS_SETVER) $(EXETARGET) \
|
|
|
|
-app $(VERSION_MAJ) $(VERSION_MIN) 0 d 0 \
|
|
|
|
-short "NetSurf $(VERSION_FULL)" \
|
|
|
|
-long "NetSurf $(VERSION_FULL) ©"
|
|
|
|
$(VQ)echo " MIMESET: $(EXETARGET)"
|
|
|
|
$(Q)$(BEOS_MIMESET) $(EXETARGET)
|
|
|
|
endif
|
|
|
|
|
|
|
|
ifeq ($(TARGET),beos)
|
2008-07-29 12:57:51 +04:00
|
|
|
$(RSRC_BEOS): $(RDEF_BEOS) $(RDEP_BEOS)
|
2008-06-06 02:54:49 +04:00
|
|
|
$(VQ)echo " RC: $<"
|
|
|
|
$(Q)$(BEOS_RC) -o $@ $<
|
2008-06-04 00:13:34 +04:00
|
|
|
endif
|
2007-12-23 00:15:58 +03:00
|
|
|
|
2008-08-07 01:46:53 +04:00
|
|
|
ifeq ($(TARGET),riscos)
|
|
|
|
# Native RO build is different as 1) it can't do piping and 2) ccres on
|
|
|
|
# RO does not understand Unix filespec
|
|
|
|
ifeq ($(HOST),riscos)
|
|
|
|
define compile_template
|
|
|
|
!NetSurf/Resources/$(1)/Templates$$(TPLEXT): $(2)
|
|
|
|
$$(VQ)echo "TEMPLATE: $(2)"
|
|
|
|
$$(Q)$$(CC) -x c -E -P $$(CFLAGS) $(2) > processed_template
|
|
|
|
$$(Q)$$(CCRES) processed_template $$(subst /,.,$$@)
|
|
|
|
$$(Q)$(RM) processed_template
|
|
|
|
CLEAN_TEMPLATES += !NetSurf/Resources/$(1)/Templates$$(TPLEXT)
|
|
|
|
|
|
|
|
endef
|
|
|
|
else
|
|
|
|
define compile_template
|
|
|
|
!NetSurf/Resources/$(1)/Templates$$(TPLEXT): $(2)
|
|
|
|
$$(VQ)echo "TEMPLATE: $(2)"
|
|
|
|
$$(Q)$$(CC) -x c -E -P $$(CFLAGS) $(2) | $$(CCRES) - $$@
|
|
|
|
CLEAN_TEMPLATES += !NetSurf/Resources/$(1)/Templates$$(TPLEXT)
|
|
|
|
|
|
|
|
endef
|
|
|
|
endif
|
|
|
|
|
|
|
|
clean-templates:
|
|
|
|
$(VQ)echo " CLEAN: $(CLEAN_TEMPLATES)"
|
|
|
|
$(Q)$(RM) $(CLEAN_TEMPLATES)
|
|
|
|
CLEANS += clean-templates
|
|
|
|
|
|
|
|
$(eval $(foreach TPL,$(TPL_RISCOS), \
|
|
|
|
$(call compile_template,$(notdir $(TPL)),$(TPL))))
|
|
|
|
endif
|
|
|
|
|
2007-12-23 00:15:58 +03:00
|
|
|
clean-target:
|
|
|
|
$(VQ)echo " CLEAN: $(EXETARGET)"
|
|
|
|
$(Q)$(RM) $(EXETARGET)
|
|
|
|
|
|
|
|
clean-builddir:
|
|
|
|
$(VQ)echo " CLEAN: $(OBJROOT)"
|
|
|
|
$(Q)$(RM) -r $(OBJROOT)
|
|
|
|
CLEANS += clean-builddir
|
|
|
|
|
|
|
|
all-program: $(EXETARGET)
|
|
|
|
|
|
|
|
.SUFFIXES:
|
|
|
|
|
|
|
|
DEPFILES :=
|
|
|
|
# Now some macros which build the make system
|
|
|
|
|
|
|
|
# 1 = Source file
|
|
|
|
# 2 = dep filename, no prefix
|
|
|
|
# 3 = obj filename, no prefix
|
2008-06-04 00:13:34 +04:00
|
|
|
ifeq ($(GCCVER),2)
|
|
|
|
# simpler deps tracking for gcc2...
|
|
|
|
define dependency_generate_c
|
|
|
|
DEPFILES += $(2)
|
2008-07-26 22:00:08 +04:00
|
|
|
$$(DEPROOT)/$(2): $$(DEPROOT)/created $(1) css/css_enum.h css/parser.h Makefile.config
|
2008-06-04 00:13:34 +04:00
|
|
|
$$(VQ)echo " DEP: $(1)"
|
|
|
|
$$(Q)$$(RM) $$(DEPROOT)/$(2)
|
|
|
|
$$(Q)$$(CC) $$(CFLAGS) -MM \
|
|
|
|
$(1) | sed 's,^.*:,$$(DEPROOT)/$2 $$(OBJROOT)/$(3):,' \
|
|
|
|
> $$(DEPROOT)/$(2)
|
|
|
|
|
|
|
|
endef
|
|
|
|
else
|
2007-12-23 00:15:58 +03:00
|
|
|
define dependency_generate_c
|
|
|
|
DEPFILES += $(2)
|
2008-07-26 22:00:08 +04:00
|
|
|
$$(DEPROOT)/$(2): $$(DEPROOT)/created $(1) css/css_enum.h css/parser.h Makefile.config
|
2007-12-23 00:15:58 +03:00
|
|
|
$$(VQ)echo " DEP: $(1)"
|
2008-03-05 15:30:29 +03:00
|
|
|
$$(Q)$$(RM) $$(DEPROOT)/$(2)
|
2008-03-19 03:48:08 +03:00
|
|
|
$$(Q)$$(CC) $$(CFLAGS) -MM -MT '$$(DEPROOT)/$2 $$(OBJROOT)/$(3)' \
|
2008-03-05 15:30:29 +03:00
|
|
|
-MF $$(DEPROOT)/$(2) $(1)
|
2007-12-23 00:15:58 +03:00
|
|
|
|
|
|
|
endef
|
2008-06-04 00:13:34 +04:00
|
|
|
endif
|
2007-12-23 00:15:58 +03:00
|
|
|
|
|
|
|
# 1 = Source file
|
|
|
|
# 2 = dep filename, no prefix
|
|
|
|
# 3 = obj filename, no prefix
|
|
|
|
define dependency_generate_s
|
|
|
|
DEPFILES += $(2)
|
|
|
|
$$(DEPROOT)/$(2): $$(DEPROOT)/created $(1)
|
|
|
|
$$(VQ)echo " DEP: $(1)"
|
2008-03-05 15:30:29 +03:00
|
|
|
$$(Q)$$(RM) $$(DEPROOT)/$(2)
|
2008-03-19 03:48:08 +03:00
|
|
|
$$(Q)$$(CC) $$(CFLAGS) -MM -MT '$$(DEPROOT)/$2 $$(OBJROOT)/$(3)' \
|
2008-03-05 15:30:29 +03:00
|
|
|
-MF $$(DEPROOT)/$(2) $(1)
|
2007-12-23 00:15:58 +03:00
|
|
|
|
|
|
|
endef
|
|
|
|
|
|
|
|
# 1 = Source file
|
|
|
|
# 2 = obj filename, no prefix
|
|
|
|
# 3 = dep filename, no prefix
|
|
|
|
define compile_target_c
|
|
|
|
$$(OBJROOT)/$(2): $$(OBJROOT)/created $$(DEPROOT)/$(3)
|
|
|
|
$$(VQ)echo " COMPILE: $(1)"
|
|
|
|
$$(Q)$$(CC) $$(CFLAGS) -o $$@ -c $(1)
|
|
|
|
|
|
|
|
endef
|
|
|
|
|
2008-06-04 00:13:34 +04:00
|
|
|
define compile_target_cpp
|
|
|
|
$$(OBJROOT)/$(2): $$(OBJROOT)/created $$(DEPROOT)/$(3)
|
|
|
|
$$(VQ)echo " COMPILE: $(1)"
|
|
|
|
$$(Q)$$(CXX) $$(CFLAGS) -o $$@ -c $(1)
|
|
|
|
|
|
|
|
endef
|
|
|
|
|
2007-12-23 00:15:58 +03:00
|
|
|
# 1 = Source file
|
|
|
|
# 2 = obj filename, no prefix
|
|
|
|
# 3 = dep filename, no prefix
|
|
|
|
define compile_target_s
|
|
|
|
$$(OBJROOT)/$(2): $$(OBJROOT)/created
|
2008-07-30 00:55:26 +04:00
|
|
|
$$(VQ)echo "ASSEMBLE: $(1)"
|
2007-12-23 00:15:58 +03:00
|
|
|
$$(Q)$$(CC) $$(ASFLAGS) -o $$@ -c $(1)
|
|
|
|
|
|
|
|
endef
|
|
|
|
|
|
|
|
# Rules to construct dep lines for each object...
|
|
|
|
$(eval $(foreach SOURCE,$(filter %.c,$(SOURCES)), \
|
|
|
|
$(call dependency_generate_c,$(SOURCE),$(subst /,_,$(SOURCE:.c=.d)),$(subst /,_,$(SOURCE:.c=.o)))))
|
|
|
|
|
2008-06-04 00:13:34 +04:00
|
|
|
$(eval $(foreach SOURCE,$(filter %.cpp,$(SOURCES)), \
|
|
|
|
$(call dependency_generate_c,$(SOURCE),$(subst /,_,$(SOURCE:.cpp=.d)),$(subst /,_,$(SOURCE:.cpp=.o)))))
|
|
|
|
|
2007-12-23 00:15:58 +03:00
|
|
|
# Cannot currently generate dep files for S files because they're objasm
|
|
|
|
# when we move to gas format, we will be able to.
|
|
|
|
|
|
|
|
#$(eval $(foreach SOURCE,$(filter %.s,$(SOURCES)), \
|
|
|
|
# $(call dependency_generate_s,$(SOURCE),$(subst /,_,$(SOURCE:.s=.d)),$(subst /,_,$(SOURCE:.s=.o)))))
|
|
|
|
|
|
|
|
ifneq ($(MAKECMDGOALS),clean)
|
2008-03-05 15:30:29 +03:00
|
|
|
-include $(sort $(addprefix $(DEPROOT)/,$(DEPFILES)))
|
2007-12-23 00:15:58 +03:00
|
|
|
endif
|
|
|
|
|
|
|
|
# And rules to build the objects themselves...
|
|
|
|
|
|
|
|
$(eval $(foreach SOURCE,$(filter %.c,$(SOURCES)), \
|
|
|
|
$(call compile_target_c,$(SOURCE),$(subst /,_,$(SOURCE:.c=.o)),$(subst /,_,$(SOURCE:.c=.d)))))
|
|
|
|
|
2008-06-04 00:13:34 +04:00
|
|
|
$(eval $(foreach SOURCE,$(filter %.cpp,$(SOURCES)), \
|
|
|
|
$(call compile_target_cpp,$(SOURCE),$(subst /,_,$(SOURCE:.cpp=.o)),$(subst /,_,$(SOURCE:.cpp=.d)))))
|
|
|
|
|
2007-12-23 00:15:58 +03:00
|
|
|
$(eval $(foreach SOURCE,$(filter %.s,$(SOURCES)), \
|
|
|
|
$(call compile_target_s,$(SOURCE),$(subst /,_,$(SOURCE:.s=.o)),$(subst /,_,$(SOURCE:.s=.d)))))
|
|
|
|
|
2008-07-27 02:53:13 +04:00
|
|
|
.PHONY: all clean docs install install-gtk
|
2007-12-23 00:15:58 +03:00
|
|
|
|
|
|
|
clean: $(CLEANS)
|
2008-03-09 20:06:45 +03:00
|
|
|
|
2008-07-27 02:53:13 +04:00
|
|
|
install-gtk:
|
2008-07-29 13:08:32 +04:00
|
|
|
mkdir -p $(DESTDIR)$(NETSURF_GTK_RESOURCES)throbber
|
|
|
|
mkdir -p $(DESTDIR)$(NETSURF_GTK_BIN)
|
|
|
|
@cp -v nsgtk $(DESTDIR)$(NETSURF_GTK_BIN)netsurf
|
|
|
|
@cp -vrL gtk/res/adblock.css $(DESTDIR)$(NETSURF_GTK_RESOURCES)
|
|
|
|
@cp -vrL gtk/res/ca-bundle.txt $(DESTDIR)$(NETSURF_GTK_RESOURCES)
|
|
|
|
@cp -vrL gtk/res/default.css $(DESTDIR)$(NETSURF_GTK_RESOURCES)
|
|
|
|
@cp -vrL gtk/res/gtkdefault.css $(DESTDIR)$(NETSURF_GTK_RESOURCES)
|
|
|
|
@cp -vrL gtk/res/license $(DESTDIR)$(NETSURF_GTK_RESOURCES)
|
|
|
|
@cp -vrL gtk/res/netsurf.xpm $(DESTDIR)$(NETSURF_GTK_RESOURCES)
|
|
|
|
@cp -vrL gtk/res/netsurf-16x16.xpm $(DESTDIR)$(NETSURF_GTK_RESOURCES)
|
|
|
|
@cp -vrL gtk/res/throbber/*.png $(DESTDIR)$(NETSURF_GTK_RESOURCES)/throbber
|
|
|
|
gzip -9v < gtk/res/messages > $(DESTDIR)$(NETSURF_GTK_RESOURCES)messages
|
|
|
|
gzip -9v < gtk/res/downloads.glade > $(DESTDIR)$(NETSURF_GTK_RESOURCES)downloads.glade
|
|
|
|
gzip -9v < gtk/res/netsurf.glade > $(DESTDIR)$(NETSURF_GTK_RESOURCES)netsurf.glade
|
|
|
|
gzip -9v < gtk/res/options.glade > $(DESTDIR)$(NETSURF_GTK_RESOURCES)options.glade
|
2008-07-27 02:53:13 +04:00
|
|
|
|
|
|
|
install: all-program install-$(TARGET)
|
|
|
|
|
2008-03-09 20:06:45 +03:00
|
|
|
docs:
|
|
|
|
doxygen Docs/Doxyfile
|