link against libintl on DragonFly
[chromium.git] / Makefile
1 # $NetBSD$
2
3 DISTNAME=       chromium-11.0.696.68
4 CATEGORIES=     www
5 MASTER_SITES=   http://build.chromium.org/buildbot/official/
6 EXTRACT_SUFX=   .tar.bz2
7
8 MAINTAINER=     rxg@NetBSD.org
9 HOMEPAGE=       http://dev.chromium.org/Home
10 COMMENT=        Open-source browser project
11 LICENSE=        modified-bsd
12
13 USE_TOOLS+=     bash bison flex:pkgsrc gmake pax perl pkg-config
14 USE_LANGUAGES=  c c++
15
16 BUILD_DEPENDS+= gperf>=3.0.1:../../devel/gperf
17
18 PKG_DESTDIR_SUPPORT=    user-destdir
19
20 ONLY_FOR_PLATFORM=      *-*-arm *-*-i386 *-*-x86_64
21 TOOLS_PLATFORM.flex=    # override the platform definition to use pkgsrc's flex.
22
23 DATADIR=        ${DESTDIR}${PREFIX}/share/chromium
24
25 .include "../../mk/bsd.prefs.mk"
26
27 .if ${OPSYS} == "Linux" || ${OPSYS} == "DragonFly" || ${OPSYS} == "FreeBSD"
28 .include "../../audio/alsa-lib/buildlink3.mk"
29 .endif
30
31 GNU_CONFIGURE=  yes
32 CONFIGURE_DIRS= third_party/icu/source
33 CONFIGURE_DIRS+=third_party/tcmalloc/vendor
34 CONFIGURE_DIRS+=third_party/yasm/source/patched-yasm
35 CONFIGURE_ENV+= GYP_DEFINES=${GYP_DEFINES:Q}
36
37 # we need to replace config.sub et al. up to 5 directories deep
38 OVERRIDE_DIRDEPTH= 5
39
40 GYP_DEFINES+=   OS=${LOWER_OPSYS}
41 GYP_DEFINES+=   buildtype=Official
42 .if ${OPSYS} != "Linux"
43 GYP_DEFINES+=   disable_nacl=1
44 .endif
45 GYP_DEFINES+=   disable_sse2=0
46 GYP_DEFINES+=   ffmpeg_branding=${FFMPEG_CODECS}
47 GYP_DEFINES+=   libvpx_path=${BUILDLINK_DIR}/lib
48 .if ${OPSYS} != "Linux" && ${OPSYS} != "FreeBSD"
49 GYP_DEFINES+=   linux_use_tcmalloc=0
50 .endif
51 .if ${OPSYS} == "NetBSD"
52 GYP_DEFINES+=   no_gc_sections=1
53 .endif
54 GYP_DEFINES+=   python_ver=${PYVERSSUFFIX}
55 GYP_DEFINES+=   use_system_bzip2=1
56 GYP_DEFINES+=   use_system_ffmpeg=0
57 GYP_DEFINES+=   use_system_libevent=1
58 GYP_DEFINES+=   use_system_libjpeg=1
59 GYP_DEFINES+=   use_system_libpng=1
60 GYP_DEFINES+=   use_system_libxml=1
61 GYP_DEFINES+=   use_system_sqlite=0
62 GYP_DEFINES+=   use_system_ssl=0
63 GYP_DEFINES+=   use_system_vpx=1
64 GYP_DEFINES+=   use_system_yasm=0
65 GYP_DEFINES+=   use_system_zlib=1
66
67 FFMPEG_ARGS+=   --disable-everything
68 FFMPEG_ARGS+=   --disable-network
69 FFMPEG_ARGS+=   --disable-bzlib
70 FFMPEG_ARGS+=   --disable-zlib
71 FFMPEG_ARGS+=   --disable-swscale
72 FFMPEG_ARGS+=   --disable-amd3dnow
73 FFMPEG_ARGS+=   --disable-amd3dnowext
74 FFMPEG_ARGS+=   --enable-shared
75 FFMPEG_ARGS+=   --enable-libvpx
76 FFMPEG_ARGS+=   --enable-encoder=libvpx
77
78 .include "options.mk"
79
80 BUILD_DIRS=     .
81 MAKE_ENV+=      BUILDTYPE=${BUILDTYPE}
82 MAKE_ENV+=      CC.host=${CC:Q}
83 MAKE_ENV+=      CFLAGS.host=${CFLAGS:M*:Q}
84 MAKE_ENV+=      CXX.host=${CXX:Q}
85 MAKE_ENV+=      CXXFLAGS.host=${CXXFLAGS:M*:Q}
86 MAKE_ENV+=      LINK.host=${CXX:Q}
87 MAKE_ENV+=      LDFLAGS.host=${LDFLAGS:M*:Q}
88 MAKE_ENV+=      AR.host=${AR:Q}
89 .if ${OPSYS} != "Linux"
90 # Override the LINK variable for the platforms which do not have flock(1).
91 MAKE_ENV+=      LINK=${CXX:Q}
92 .endif
93
94 BUILDDIR=       ${WRKSRC}/out/${BUILDTYPE}
95
96 CHECK_PORTABILITY_SKIP+=gpu/demos/run_demo_ppapi.sh
97 CHECK_PORTABILITY_SKIP+=third_party/xdg-utils/scripts/xdg-terminal
98 CHECK_PORTABILITY_SKIP+=third_party/xdg-utils/scripts/xdg-terminal.in
99 CHECK_PORTABILITY_SKIP+=v8/tools/linux-tick-processor
100
101 SUBST_CLASSES+=         bash
102 SUBST_MESSAGE.bash=     Fixing bash path
103 SUBST_STAGE.bash=       post-patch
104 SUBST_FILES.bash+=      build/linux/python_arch.sh
105 SUBST_FILES.bash+=      chrome/tools/build/linux/chrome-wrapper
106 SUBST_FILES.bash+=      chrome/tools/build/linux/sed.sh
107 SUBST_SED.bash=         -e 's:/bin/bash:${BASH}:'
108
109 SUBST_CLASSES+=         path
110 SUBST_MESSAGE.path=     Fixing pkg path
111 SUBST_STAGE.path=       post-patch
112 SUBST_FILES.path+=      base/base_paths_linux.cc
113 SUBST_FILES.path+=      base/process_util_dragonfly.cc
114 SUBST_FILES.path+=      base/process_util_openbsd.cc
115 SUBST_FILES.path+=      build/common.gypi
116 SUBST_FILES.path+=      chrome/chrome_tests.gypi
117 SUBST_SED.path+=        -e 's:/usr/local/:${PREFIX}/:'
118 SUBST_SED.path+=        -e 's:/usr/lib/:${BUILDLINK_DIR}/lib/:'
119 SUBST_SED.path+=        -e 's:/usr/include/:${BUILDLINK_DIR}/include/:'
120
121 INSTALLATION_DIRS+=     ${PKGMANDIR}/man1 bin share/chromium
122 INSTALLATION_DIRS+=     share/chromium/locales share/chromium/resources
123
124 # Remove pre-configure stage when implement python in tools.
125 pre-configure:
126         ${LN} -sf ${PYTHONBIN} ${TOOLS_DIR}/bin/python
127         ${RM} -f ${BUILDLINK_DIR}/${PYINC}/ast.h
128         ${RM} -rf ${BUILDLINK_DIR}/include/GL
129         cd ${WRKSRC}/third_party/icu && \
130         ${CP} -Rf public/common/unicode source/common
131
132 post-configure:
133         cd ${WRKSRC}/third_party/icu && \
134         ${MV} -f source/common/unicode/platform.h public/common/unicode
135         cd ${WRKSRC}/third_party/tcmalloc && \
136         ${MV} -f vendor/src/config.h chromium/src/config_linux.h
137         cd ${WRKSRC}/third_party/ffmpeg/patched-ffmpeg-mt && \
138         ${SH} ./configure ${FFMPEG_ARGS} && cd .. && \
139         ${MV} -f patched-ffmpeg-mt/config.h \
140                 config/${FFMPEG_CODECS}/linux/${MACHINE_ARCH:S/i386/ia32/:S/x86_64/x64/}
141         cd ${WRKSRC}/third_party/yasm/source && \
142         ${MKDIR} config/${LOWER_OPSYS} && \
143         ${MV} -f patched-yasm/Makefile \
144                 patched-yasm/config.h \
145                 patched-yasm/libyasm-stdint.h config/${LOWER_OPSYS}
146         cd ${WRKSRC} && \
147         ${SETENV} ${CONFIGURE_ENV} python build/gyp_chromium --depth=${WRKSRC}
148
149 do-install:
150 .for f in chrome ffmpegsumo_nolink libffmpegsumo.so mksnapshot protoc
151         ${INSTALL_PROGRAM} ${BUILDDIR}/${f} ${DATADIR}
152 .endfor
153 .for f in chrome-wrapper xdg-mime xdg-settings
154         ${INSTALL_SCRIPT} ${BUILDDIR}/${f} ${DATADIR}
155 .endfor
156 .for f in chrome.pak product_logo_48.png resources.pak
157         ${INSTALL_DATA} ${BUILDDIR}/${f} ${DATADIR}
158 .endfor
159 .for d in locales resources
160         cd ${BUILDDIR}/${d} && pax -rwpm . ${DATADIR}/${d}
161 .endfor
162         ${INSTALL_MAN} ${BUILDDIR}/chrome.1 ${DESTDIR}${PREFIX}/${PKGMANDIR}/man1
163         ${LN} -sf ${DATADIR}/chrome ${DESTDIR}${PREFIX}/bin
164
165 .include "../../devel/GConf/buildlink3.mk"
166 .include "../../devel/gettext-lib/buildlink3.mk"
167 .include "../../devel/libevent/buildlink3.mk"
168 .include "../../devel/nss/buildlink3.mk"
169 .include "../../devel/zlib/buildlink3.mk"
170 .include "../../graphics/png/buildlink3.mk"
171 .include "../../lang/python/pyversion.mk"
172 .include "../../mk/jpeg.buildlink3.mk"
173 .include "../../multimedia/libvpx/buildlink3.mk"
174 .include "../../textproc/libxslt/buildlink3.mk"
175 .include "../../x11/gtk2/buildlink3.mk"
176 .include "../../x11/libXScrnSaver/buildlink3.mk"
177 .include "../../x11/libXtst/buildlink3.mk"
178 .include "../../mk/bsd.pkg.mk"