| 1 |
dnl Granularly define the version components |
| 2 |
dnl Remember to also update the Display Version |
| 3 |
m4_define([fspot_version_major], [0]) |
| 4 |
m4_define([fspot_version_minor], [9]) |
| 5 |
m4_define([fspot_version_micro], [0]) |
| 6 |
|
| 7 |
dnl set to 0 when doing an official release |
| 8 |
m4_define([fspot_version_pre_release], [0]) |
| 9 |
|
| 10 |
m4_define([concat], $1$2$3$4) |
| 11 |
|
| 12 |
dnl create base version string |
| 13 |
m4_define([fspot_version], concat( |
| 14 |
fspot_version_major., |
| 15 |
fspot_version_minor., |
| 16 |
fspot_version_micro)) |
| 17 |
|
| 18 |
dnl create the release version |
| 19 |
m4_define([fspot_version], |
| 20 |
m4_if(fspot_version_pre_release, [0], |
| 21 |
fspot_version, |
| 22 |
concat(fspot_version, fspot_version_pre_release))) |
| 23 |
|
| 24 |
dnl this can sometimes differ manually |
| 25 |
m4_define([fspot_display_version], |
| 26 |
["0.9.0"]) |
| 27 |
|
| 28 |
m4_define([fspot_api_version], |
| 29 |
[fspot_version_major.fspot_version_minor]) |
| 30 |
|
| 31 |
m4_define([fspot_asm_version], |
| 32 |
[fspot_api_version.0.0]) |
| 33 |
|
| 34 |
AC_PREREQ(2.52) |
| 35 |
AC_INIT([f-spot], fspot_version, |
| 36 |
[http://bugzilla.gnome.org/enter_bug.cgi?product=f-spot]) |
| 37 |
|
| 38 |
AM_INIT_AUTOMAKE([1.9 dist-bzip2 tar-ustar dist-zip foreign]) |
| 39 |
AM_MAINTAINER_MODE |
| 40 |
AM_CONFIG_HEADER([config.h]) |
| 41 |
AC_CONFIG_MACRO_DIR([build/m4]) |
| 42 |
AC_SUBST([ACLOCAL_AMFLAGS], ["-I build/m4/shamrock -I build/m4/f-spot -I build/m4/shave \${ACLOCAL_FLAGS}"]) |
| 43 |
|
| 44 |
IT_PROG_INTLTOOL([0.35.0]) |
| 45 |
AC_PROG_LIBTOOL |
| 46 |
AC_PROG_INSTALL |
| 47 |
|
| 48 |
dnl How to configure for distcheck |
| 49 |
DISTCHECK_CONFIGURE_FLAGS="--disable-docs --enable-release" |
| 50 |
AC_SUBST(DISTCHECK_CONFIGURE_FLAGS) |
| 51 |
|
| 52 |
dnl Export Version Info |
| 53 |
AC_SUBST([API_VERSION], [fspot_api_version]) |
| 54 |
AC_SUBST([ASM_VERSION], [fspot_asm_version]) |
| 55 |
AC_SUBST([DISPLAY_VERSION], [fspot_display_version]) |
| 56 |
|
| 57 |
dnl Expansions |
| 58 |
SHAMROCK_EXPAND_LIBDIR |
| 59 |
SHAMROCK_EXPAND_BINDIR |
| 60 |
SHAMROCK_EXPAND_DATADIR |
| 61 |
|
| 62 |
dnl User help |
| 63 |
SHAMROCK_CHECK_GNOME_DOC_UTILS(0.17.3) |
| 64 |
|
| 65 |
dnl Mono and gmcs |
| 66 |
SHAMROCK_CHECK_MONO_MODULE(2.2) |
| 67 |
SHAMROCK_FIND_MONO_2_0_COMPILER |
| 68 |
SHAMROCK_FIND_MONO_RUNTIME |
| 69 |
SHAMROCK_CHECK_MONO_2_0_GAC_ASSEMBLIES([ |
| 70 |
Mono.Posix |
| 71 |
Mono.Simd |
| 72 |
System |
| 73 |
System.Runtime.Remoting |
| 74 |
System.Web |
| 75 |
System.Web.Services |
| 76 |
System.Data |
| 77 |
Mono.Cairo |
| 78 |
ICSharpCode.SharpZipLib |
| 79 |
]) |
| 80 |
|
| 81 |
FSPOT_CHECK_LIBFSPOT |
| 82 |
dnl --- Checks for gtk-sharp and glib-sharp |
| 83 |
FSPOT_CHECK_GTK_SHARP |
| 84 |
FSPOT_CHECK_GNOME_KEYRING_SHARP |
| 85 |
FSPOT_CHECK_FLICKRNET |
| 86 |
SHAMROCK_CHECK_NUNIT |
| 87 |
FSPOT_CHECK_MONO_ADDINS |
| 88 |
FSPOT_CHECK_DBUS_SHARP |
| 89 |
FSPOT_CHECK_TAGLIB_SHARP |
| 90 |
FSPOT_CHECK_GNOME_SHARP |
| 91 |
|
| 92 |
|
| 93 |
|
| 94 |
# ---------------------------------- <Old build stuff> |
| 95 |
dnl --- Check for mono and gmcs |
| 96 |
|
| 97 |
AC_PATH_PROG(MONO, mono) |
| 98 |
AC_PATH_PROG(MCS, gmcs) |
| 99 |
|
| 100 |
CS="C#" |
| 101 |
if test ! -x "$MCS"; then |
| 102 |
AC_MSG_ERROR([No $CS compiler found]) |
| 103 |
fi |
| 104 |
|
| 105 |
dnl --- Check for gapi programs |
| 106 |
|
| 107 |
AC_PATH_PROG(GAPI2FIXUP, gapi2-fixup, no) |
| 108 |
|
| 109 |
if test ! -x "$GAPI2FIXUP"; then |
| 110 |
AC_MSG_ERROR([No gapi post-processor found]) |
| 111 |
fi |
| 112 |
|
| 113 |
AC_PATH_PROG(GAPI2PARSER, gapi2-parser, no) |
| 114 |
|
| 115 |
if test ! -x "$GAPI2PARSER"; then |
| 116 |
AC_MSG_ERROR([No gapi parser found]) |
| 117 |
fi |
| 118 |
|
| 119 |
AC_PATH_PROG(GAPI2CODEGEN, gapi2-codegen, no) |
| 120 |
|
| 121 |
if test ! -x "$GAPI2CODEGEN"; then |
| 122 |
AC_MSG_ERROR([No gapi code generator found]) |
| 123 |
fi |
| 124 |
|
| 125 |
dnl -- Check for mono pc file |
| 126 |
|
| 127 |
AC_MSG_CHECKING([for mono.pc]) |
| 128 |
if test -z `$PKG_CONFIG --variable=prefix mono`; then |
| 129 |
AC_MSG_ERROR([missing the mono.pc file, usually found in the mono-devel package]) |
| 130 |
else |
| 131 |
AC_MSG_RESULT([found]) |
| 132 |
fi |
| 133 |
|
| 134 |
dnl --- Required libraries |
| 135 |
|
| 136 |
LIBGNOMEDESKTOP_REQUIRED=2.17 |
| 137 |
GIO_REQUIRED=2.22.0 |
| 138 |
GTKSHARPBEANS_REQUIRED=2.13.92 |
| 139 |
GTK_REQUIRED=2.14 |
| 140 |
MONO_CAIRO_REQUIRED=1.2.5 |
| 141 |
CAIRO_REQUIRED=1.4.0 |
| 142 |
LCMS_REQUIRED=1.12 |
| 143 |
|
| 144 |
PKG_CHECK_MODULES(F, gnome-desktop-2.0 >= $LIBGNOMEDESKTOP_REQUIRED gtk+-2.0 >= $GTK_REQUIRED mono-cairo >= $MONO_CAIRO_REQUIRED cairo >= $CAIRO_REQUIRED) |
| 145 |
AC_SUBST(F_CFLAGS) |
| 146 |
AC_SUBST(F_LIBS) |
| 147 |
|
| 148 |
PKG_CHECK_MODULES(GIO, gio-2.0 >= $GIO_REQUIRED) |
| 149 |
AC_SUBST(GIO_CFLAGS) |
| 150 |
AC_SUBST(GIO_LIBS) |
| 151 |
|
| 152 |
CSC_DEFINES="" |
| 153 |
PKG_CHECK_MODULES(GNOME_SHARP, gnome-sharp-2.0 >= 2.8) |
| 154 |
|
| 155 |
PKG_CHECK_MODULES(GLIBSHARP, glib-sharp-2.0 >= 2.12) |
| 156 |
|
| 157 |
if pkg-config --atleast-version=2.13.0 gtk-sharp-2.0 && pkg-config --max-version=2.14 gtk-sharp-2.0; then |
| 158 |
AC_MSG_ERROR([There is a svn version of gtk-sharp 2.13.x installed. Uninstall it.]) |
| 159 |
fi |
| 160 |
|
| 161 |
dnl --- GConf |
| 162 |
AC_PATH_PROG(GCONFTOOL, gconftool-2) |
| 163 |
AM_GCONF_SOURCE_2 |
| 164 |
PKG_CHECK_MODULES(GCONF_SHARP, gconf-sharp-2.0 >= $GTKSHARP_REQUIRED) |
| 165 |
if pkg-config --atleast-version=2.18 gconf-sharp-2.0; then |
| 166 |
CSC_DEFINES="$CSC_DEFINES -d:GCONF_SHARP_2_18" |
| 167 |
fi |
| 168 |
if pkg-config --atleast-version=2.20.2 gconf-sharp-2.0; then |
| 169 |
CSC_DEFINES="$CSC_DEFINES -d:GCONF_SHARP_2_20_2" |
| 170 |
fi |
| 171 |
|
| 172 |
if pkg-config --atleast-version=2.16 gtk+-2.0; then |
| 173 |
CSC_DEFINES="$CSC_DEFINES -d:GTK_2_16" |
| 174 |
fi |
| 175 |
|
| 176 |
AC_SUBST(CSC_DEFINES) |
| 177 |
|
| 178 |
dnl --- libjpeg |
| 179 |
|
| 180 |
AC_CHECK_LIB(jpeg, jpeg_start_decompress, [], |
| 181 |
[AC_MSG_ERROR([libjpeg not found])], -lm) |
| 182 |
AC_CHECK_HEADER(jpeglib.h, , [AC_MSG_ERROR([libjpeg not found])]) |
| 183 |
LIBJPEG='-ljpeg' |
| 184 |
|
| 185 |
dnl --- lcms |
| 186 |
|
| 187 |
PKG_CHECK_MODULES(LCMS, lcms >= $LCMS_REQUIRED, [], |
| 188 |
[AC_CHECK_LIB(lcms, cmsCreateBCHSWabstractProfile, [], |
| 189 |
[AC_MSG_ERROR([liblcms not found])], -lm) |
| 190 |
AC_CHECK_HEADER(lcms.h, , [AC_MSG_ERROR([liblcms not found])]) |
| 191 |
LCMS_LIBS='-llcms' |
| 192 |
LCMS_CFLAGS='']) |
| 193 |
|
| 194 |
dnl --- libunique check |
| 195 |
PKG_CHECK_MODULES(UNIQUE, unique-1.0 >= 1.0) |
| 196 |
|
| 197 |
dnl --- Set up paths |
| 198 |
|
| 199 |
AC_ARG_WITH(turtle, [ --with-turtle=DIR set path to source directory for turtle]) |
| 200 |
AM_CONDITIONAL(WITH_TURTLE, test "x$with_turtle" != "xno") |
| 201 |
if test "x$with_turtle" != "xno"; then |
| 202 |
TURTLEDIR=$with_turtle |
| 203 |
|
| 204 |
AC_SUBST(TURTLEDIR) |
| 205 |
fi |
| 206 |
|
| 207 |
AC_ARG_WITH(gnome-screensaver, |
| 208 |
[ --with-gnome-screensaver=PREFIX set gnome gnome-screensaver prefix], |
| 209 |
gnome_screensaver_prefix=$with_gnome_screensaver, |
| 210 |
gnome_screensaver_prefix=$prefix) |
| 211 |
|
| 212 |
AC_ARG_WITH(gnome-screensaver-privlibexecdir, |
| 213 |
[ --with-gnome-screensaver-privlibexecdir=DIR set gnome-screensaver privlibexecdir], |
| 214 |
GNOME_SCREENSAVER_SAVERDIR=$with_gnome_screensaver_privlibexecdir, |
| 215 |
if test -d $gnome_screensaver_prefix/lib/gnome-screensaver; then |
| 216 |
GNOME_SCREENSAVER_SAVERDIR=$gnome_screensaver_prefix/lib/gnome-screensaver |
| 217 |
else |
| 218 |
GNOME_SCREENSAVER_SAVERDIR=$gnome_screensaver_prefix/libexec/gnome-screensaver |
| 219 |
fi) |
| 220 |
|
| 221 |
AC_ARG_WITH(gnome-screensaver-themesdir, |
| 222 |
[ --with-gnome-screensaver-themesdir=DIR set gnome-screensaver themesdir], |
| 223 |
GNOME_SCREENSAVER_THEMESDIR=$with_gnome_screensaver_themesdir, |
| 224 |
GNOME_SCREENSAVER_THEMESDIR=$gnome_screensaver_prefix/share/applications/screensavers |
| 225 |
) |
| 226 |
|
| 227 |
AC_SUBST(GNOME_SCREENSAVER_SAVERDIR) |
| 228 |
AC_SUBST(GNOME_SCREENSAVER_THEMESDIR) |
| 229 |
|
| 230 |
ICONS_DIRECTORY=${datadir}/${PACKAGE}-${VERSION} |
| 231 |
|
| 232 |
AC_SUBST(ICONS_DIRECTORY) |
| 233 |
|
| 234 |
dnl -- Intl |
| 235 |
|
| 236 |
GETTEXT_PACKAGE=f-spot |
| 237 |
AC_SUBST(GETTEXT_PACKAGE) |
| 238 |
AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE", [Gettext package]) |
| 239 |
AM_GLIB_GNU_GETTEXT |
| 240 |
|
| 241 |
dnl --- Prologue |
| 242 |
|
| 243 |
AC_SUBST(LIBJPEG) |
| 244 |
AC_SUBST(LCMS_LIBS) |
| 245 |
AC_SUBST(LCMS_CFLAGS) |
| 246 |
AC_SUBST(CFLAGS) |
| 247 |
AC_SUBST(CPPFLAGS) |
| 248 |
AC_SUBST(LDFLAGS) |
| 249 |
|
| 250 |
AC_CONFIG_FILES([src/Clients/MainApp/f-spot],[chmod +x src/Clients/MainApp/f-spot]) |
| 251 |
|
| 252 |
GNOME_ICON_THEME_PREFIX=`$PKG_CONFIG --variable=prefix gnome-icon-theme` |
| 253 |
AC_SUBST(GNOME_ICON_THEME_PREFIX) |
| 254 |
|
| 255 |
# ---------------------------------- </Old build stuff> |
| 256 |
|
| 257 |
AC_ARG_ENABLE(release, |
| 258 |
AC_HELP_STRING([--enable-release], |
| 259 |
[Use release configuration]), |
| 260 |
enable_release=yes, enable_release=`(test ! -d .svn && test ! -d .git) && echo "yes" || echo "no"`) |
| 261 |
AM_CONDITIONAL(ENABLE_RELEASE, test "x$enable_release" = "xyes") |
| 262 |
ENABLE_RELEASE=$enable_release |
| 263 |
AC_SUBST(ENABLE_RELEASE) |
| 264 |
if test "x$enable_release" = "xyes"; then |
| 265 |
GMCS_FLAGS="-define:RELEASE" |
| 266 |
# FIXME: Enable as soon as we rock sufficiently |
| 267 |
#else |
| 268 |
# GMCS_FLAGS="-warnaserror" |
| 269 |
fi |
| 270 |
AC_SUBST(GMCS_FLAGS) |
| 271 |
|
| 272 |
AM_CONDITIONAL(HYENA_PKG_CONFIG, false) |
| 273 |
|
| 274 |
AC_ARG_WITH(vendor-build-id, |
| 275 |
AC_HELP_STRING([--with-vendor-build-id=<vendor-build-id>], |
| 276 |
[Set a vendor build ID, recommended for packagers]), |
| 277 |
[vendor_build_id="$withval"], [ |
| 278 |
test -d .git \ |
| 279 |
&& vendor_build_id="git-checkout" \ |
| 280 |
|| vendor_build_id="source-tarball" |
| 281 |
]) |
| 282 |
BUILD_VENDOR_ID="$vendor_build_id" |
| 283 |
BUILD_HOST_OS="$host_os" |
| 284 |
BUILD_HOST_CPU="$host_cpu" |
| 285 |
BUILD_TIME=`date +"%F %T %Z"` |
| 286 |
AC_SUBST(BUILD_VENDOR_ID) |
| 287 |
AC_SUBST(BUILD_HOST_OS) |
| 288 |
AC_SUBST(BUILD_HOST_CPU) |
| 289 |
AC_SUBST(BUILD_TIME) |
| 290 |
|
| 291 |
SHAVE_INIT([build/m4/shave], [enable]) |
| 292 |
|
| 293 |
dnl generated files |
| 294 |
AC_OUTPUT([ |
| 295 |
Makefile |
| 296 |
|
| 297 |
build/Makefile |
| 298 |
build/m4/Makefile |
| 299 |
build/m4/shave/shave |
| 300 |
build/m4/shave/shave-libtool |
| 301 |
build/pkg-config/Makefile |
| 302 |
|
| 303 |
data/Makefile |
| 304 |
data/desktop-files/Makefile |
| 305 |
data/desktop-files/f-spot.desktop.in |
| 306 |
data/desktop-files/f-spot-view.desktop.in |
| 307 |
data/desktop-files/f-spot-import.desktop.in |
| 308 |
|
| 309 |
help/Makefile |
| 310 |
|
| 311 |
lib/gio-sharp/generator/Makefile |
| 312 |
lib/gio-sharp/gio/Makefile |
| 313 |
lib/gio-sharp/Makefile |
| 314 |
lib/GKeyFile/Makefile |
| 315 |
lib/gtk-sharp-beans/Makefile |
| 316 |
lib/Hyena/build/m4/Makefile |
| 317 |
lib/Hyena/build/Makefile |
| 318 |
lib/Hyena/build/pkg-config/Makefile |
| 319 |
lib/Hyena/Hyena.Data.Sqlite/Makefile |
| 320 |
lib/Hyena/Hyena.Gui/Makefile |
| 321 |
lib/Hyena/Hyena/Makefile |
| 322 |
lib/Hyena/Makefile |
| 323 |
lib/libfspot/Makefile |
| 324 |
lib/Makefile |
| 325 |
lib/Mono.Google/Makefile |
| 326 |
lib/Mono.Tabblo/Makefile |
| 327 |
lib/SmugMugNet/Makefile |
| 328 |
lib/unique-sharp/generator/Makefile |
| 329 |
lib/unique-sharp/Makefile |
| 330 |
lib/unique-sharp/unique/Makefile |
| 331 |
|
| 332 |
src/AssemblyInfo.cs |
| 333 |
|
| 334 |
src/Makefile |
| 335 |
src/Core/Makefile |
| 336 |
src/Core/FSpot.Bling/Makefile |
| 337 |
src/Core/FSpot.Cms/Makefile |
| 338 |
src/Core/FSpot.Cms/FSpot.Cms.dll.config |
| 339 |
src/Core/FSpot.Core/Makefile |
| 340 |
src/Core/FSpot.Core/FSpot.Core.dll.config |
| 341 |
src/Core/FSpot.Core/FSpot.Core/Defines.cs |
| 342 |
src/Core/FSpot.JobScheduler/Makefile |
| 343 |
src/Core/FSpot.Utils/Makefile |
| 344 |
src/Core/FSpot.Utils/FSpot.Utils.dll.config |
| 345 |
src/Core/FSpot.Query/Makefile |
| 346 |
src/Core/FSpot.Gui/Makefile |
| 347 |
src/Core/FSpot.Gui/FSpot.Gui.dll.config |
| 348 |
src/Core/FSpot.Platform/Makefile |
| 349 |
|
| 350 |
src/Clients/Makefile |
| 351 |
src/Clients/MainApp/Makefile |
| 352 |
src/Clients/MainApp/f-spot.exe.config |
| 353 |
|
| 354 |
src/Extensions/Makefile |
| 355 |
src/Extensions/Editors/Makefile |
| 356 |
src/Extensions/Editors/FSpot.Editors.Blackout/Makefile |
| 357 |
src/Extensions/Editors/FSpot.Editors.BW/Makefile |
| 358 |
src/Extensions/Editors/FSpot.Editors.Flip/Makefile |
| 359 |
src/Extensions/Editors/FSpot.Editors.Pixelate/Makefile |
| 360 |
src/Extensions/Editors/FSpot.Editors.Resize/Makefile |
| 361 |
src/Extensions/Exporters/Makefile |
| 362 |
src/Extensions/Exporters/FSpot.Exporters.CD/Makefile |
| 363 |
src/Extensions/Exporters/FSpot.Exporters.Flickr/Makefile |
| 364 |
src/Extensions/Exporters/FSpot.Exporters.Gallery/Makefile |
| 365 |
src/Extensions/Exporters/FSpot.Exporters.Facebook/Makefile |
| 366 |
src/Extensions/Exporters/FSpot.Exporters.Folder/Makefile |
| 367 |
src/Extensions/Exporters/FSpot.Exporters.SmugMug/Makefile |
| 368 |
src/Extensions/Exporters/FSpot.Exporters.Tabblo/Makefile |
| 369 |
src/Extensions/Exporters/FSpot.Exporters.PicasaWeb/Makefile |
| 370 |
src/Extensions/Exporters/FSpot.Exporters.Zip/Makefile |
| 371 |
src/Extensions/Tools/Makefile |
| 372 |
src/Extensions/Tools/FSpot.Tools.RawPlusJpeg/Makefile |
| 373 |
src/Extensions/Tools/FSpot.Tools.ChangePhotoPath/Makefile |
| 374 |
src/Extensions/Tools/FSpot.Tools.DevelopInUFraw/Makefile |
| 375 |
src/Extensions/Tools/FSpot.Tools.LiveWebGallery/Makefile |
| 376 |
src/Extensions/Tools/FSpot.Tools.MergeDb/Makefile |
| 377 |
src/Extensions/Tools/FSpot.Tools.RetroactiveRoll/Makefile |
| 378 |
src/Extensions/Tools/FSpot.Tools.ScreensaverConfig/Makefile |
| 379 |
src/Extensions/Transitions/Makefile |
| 380 |
src/Extensions/Transitions/FSpot.Transitions.Cover/Makefile |
| 381 |
src/Extensions/Transitions/FSpot.Transitions.Dissolve/Makefile |
| 382 |
src/Extensions/Transitions/FSpot.Transitions.Push/Makefile |
| 383 |
|
| 384 |
docs/Makefile |
| 385 |
icons/Makefile |
| 386 |
tools/Makefile |
| 387 |
po/Makefile.in |
| 388 |
tests/Makefile |
| 389 |
]) |
| 390 |
|
| 391 |
cat <<EOF |
| 392 |
|
| 393 |
${PACKAGE}-${VERSION} |
| 394 |
|
| 395 |
Build Environment |
| 396 |
Install Prefix: ${prefix} |
| 397 |
Datadir: ${expanded_datadir} |
| 398 |
Libdir: ${expanded_libdir} |
| 399 |
|
| 400 |
C Compiler: ${CC} |
| 401 |
Mono C# Compiler: ${MCS} ${GMCS_FLAGS} |
| 402 |
Mono Runtime: ${MONO} |
| 403 |
|
| 404 |
Build/Development: |
| 405 |
Unit Tests: ${do_tests} |
| 406 |
User Help: ${enable_user_help} (requires gnome-doc-utils >= 0.17.3) |
| 407 |
|
| 408 |
Run 'make' to build F-Spot. |
| 409 |
|
| 410 |
EOF |
| 411 |
|
| 412 |
if test -d ${expanded_libdir}/${PACKAGE}; then |
| 413 |
if test x$br = xyes; then echo; fi |
| 414 |
echo " WARNING: An existing F-Spot install is in ${expanded_libdir}/${PACKAGE}" |
| 415 |
echo " Remove the existing install before installing this build." |
| 416 |
echo " Installing over an existing install will cause conflicts!" |
| 417 |
echo |
| 418 |
fi |