diff options
author | Benedikt Boehm <hollow@gentoo.org> | 2010-09-19 20:13:44 +0000 |
---|---|---|
committer | Benedikt Boehm <hollow@gentoo.org> | 2010-09-19 20:13:44 +0000 |
commit | 7225328feb8b07d3df52dbacccba4554ba2b08be (patch) | |
tree | 290b378e69879b7da702feea96e9b5db21ea6ec9 /media-libs/libraw | |
parent | Version Bump, fixes 331107 (diff) | |
download | gentoo-2-7225328feb8b07d3df52dbacccba4554ba2b08be.tar.gz gentoo-2-7225328feb8b07d3df52dbacccba4554ba2b08be.tar.bz2 gentoo-2-7225328feb8b07d3df52dbacccba4554ba2b08be.zip |
convert build system to autoconf (thanks to corec)
(Portage version: 2.2_rc83/cvs/Linux x86_64)
Diffstat (limited to 'media-libs/libraw')
-rw-r--r-- | media-libs/libraw/ChangeLog | 8 | ||||
-rw-r--r-- | media-libs/libraw/files/libraw-0.10.0-autoconf.patch | 297 | ||||
-rw-r--r-- | media-libs/libraw/libraw-0.10.0-r1.ebuild | 42 |
3 files changed, 346 insertions, 1 deletions
diff --git a/media-libs/libraw/ChangeLog b/media-libs/libraw/ChangeLog index 804ccc7581a2..92be4ffe75ed 100644 --- a/media-libs/libraw/ChangeLog +++ b/media-libs/libraw/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for media-libs/libraw # Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/media-libs/libraw/ChangeLog,v 1.2 2010/09/19 08:16:02 hollow Exp $ +# $Header: /var/cvsroot/gentoo-x86/media-libs/libraw/ChangeLog,v 1.3 2010/09/19 20:13:44 hollow Exp $ + +*libraw-0.10.0-r1 (19 Sep 2010) + + 19 Sep 2010; Benedikt Böhm <hollow@gentoo.org> +libraw-0.10.0-r1.ebuild, + +files/libraw-0.10.0-autoconf.patch: + convert build system to autoconf (thanks to corec) *libraw-0.10.0 (19 Sep 2010) diff --git a/media-libs/libraw/files/libraw-0.10.0-autoconf.patch b/media-libs/libraw/files/libraw-0.10.0-autoconf.patch new file mode 100644 index 000000000000..52b8bc4ec3a7 --- /dev/null +++ b/media-libs/libraw/files/libraw-0.10.0-autoconf.patch @@ -0,0 +1,297 @@ +From b2cc25e9258e5e2114f34723afe90f139174d014 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Benedikt=20B=C3=B6hm?= <bb@xnull.de> +Date: Sun, 19 Sep 2010 18:26:42 +0200 +Subject: [PATCH] add autoconf stuff from corec + +--- + Makefile.am | 79 +++++++++++++++++++++++++++++++++++++++++++ + configure.ac | 46 +++++++++++++++++++++++++ + libraw.pc.in | 11 ++++++ + libraw_r.pc.in | 11 ++++++ + m4/ax_openmp.m4 | 99 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ + 5 files changed, 246 insertions(+), 0 deletions(-) + create mode 100644 Makefile.am + create mode 100644 configure.ac + create mode 100644 libraw.pc.in + create mode 100644 libraw_r.pc.in + create mode 100644 m4/ax_openmp.m4 + +diff --git a/Makefile.am b/Makefile.am +new file mode 100644 +index 0000000..5d4db98 +--- /dev/null ++++ b/Makefile.am +@@ -0,0 +1,79 @@ ++# autoconf macros ++ACLOCAL_AMFLAGS = -I m4 ++ ++# Headers ++nobase_include_HEADERS = libraw/libraw.h \ ++ libraw/libraw_alloc.h \ ++ libraw/libraw_const.h \ ++ libraw/libraw_datastream.h \ ++ libraw/libraw_internal.h \ ++ libraw/libraw_types.h \ ++ libraw/libraw_version.h ++ ++# Docs ++doc_DATA = COPYRIGHT \ ++ LICENSE.CDDL \ ++ LICENSE.LGPL \ ++ LICENSE.LibRaw.pdf \ ++ Changelog.txt ++ ++# pkg-config .pc files ++pkgconfigdir = $(libdir)/pkgconfig ++pkgconfig_DATA = libraw.pc libraw_r.pc ++ ++# Libraries ++lib_LIBRARIES = libraw.a libraw_r.a ++ ++libraw_a_CPPFLAGS = -DLIBRAW_NOTHREADS ++libraw_a_SOURCES = internal/dcraw_common.cpp \ ++ internal/dcraw_fileio.cpp \ ++ src/libraw_cxx.cpp \ ++ src/libraw_c_api.cpp ++ ++libraw_r_a_CXXFLAGS = -pthread ++libraw_r_a_SOURCES = $(libraw_a_SOURCES) ++ ++ ++# Sample binaries ++if EXAMPLES ++bin_PROGRAMS = raw-identify \ ++ unprocessed_raw \ ++ 4channels \ ++ simple_dcraw \ ++ mem_image \ ++ dcraw_half \ ++ half_mt \ ++ dcraw_emu ++endif ++ ++raw_identify_SOURCES = samples/raw-identify.cpp ++raw_identify_CPPFLAGS = $(libraw_a_CPPFLAGS) ++raw_identify_LDADD = libraw.a -lm -lraw $(LCMS_LIBS) ++ ++unprocessed_raw_SOURCES = samples/unprocessed_raw.cpp ++unprocessed_raw_CPPFLAGS = $(libraw_a_CPPFLAGS) ++unprocessed_raw_LDADD = libraw.a -lm -lraw $(LCMS_LIBS) ++ ++4channels_SOURCES = samples/4channels.cpp ++4channels_CPPFLAGS = $(libraw_a_CPPFLAGS) ++4channels_LDADD = libraw.a -lm -lraw $(LCMS_LIBS) ++ ++simple_dcraw_SOURCES = samples/simple_dcraw.cpp ++simple_dcraw_CPPFLAGS = $(libraw_a_CPPFLAGS) ++simple_dcraw_LDADD = libraw.a -lm -lraw $(LCMS_LIBS) ++ ++mem_image_SOURCES = samples/mem_image.cpp ++mem_image_CPPFLAGS = $(libraw_a_CPPFLAGS) ++mem_image_LDADD = libraw.a -lm -lraw $(LCMS_LIBS) ++ ++dcraw_half_SOURCES = samples/dcraw_half.c ++dcraw_half_CPPFLAGS = $(libraw_a_CPPFLAGS) ++dcraw_half_LDADD = libraw.a -lm -lraw -lstdc++ $(LCMS_LIBS) ++ ++half_mt_SOURCES = samples/half_mt.c ++half_mt_CFLAGS = $(libraw_r_a_CXXFLAGS) ++half_mt_LDADD = libraw_r.a -lm -lraw_r -lstdc++ $(LCMS_LIBS) ++ ++dcraw_emu_SOURCES = samples/dcraw_emu.cpp ++dcraw_emu_CPPFLAGS = $(libraw_a_CPPFLAGS) ++dcraw_emu_LDADD = libraw.a -lm -lraw $(LCMS_LIBS) +diff --git a/configure.ac b/configure.ac +new file mode 100644 +index 0000000..ba4ce0e +--- /dev/null ++++ b/configure.ac +@@ -0,0 +1,46 @@ ++# Initialization ++AC_INIT([LibRaw], [@@VERSION@@], [info@libraw.org], [], [http://www.libraw.org]) ++AM_INIT_AUTOMAKE([foreign no-define]) ++AM_SILENT_RULES([yes]) ++ ++# Tools to use ++AC_PROG_CXX ++AC_PROG_CC ++AC_PROG_RANLIB ++ ++# Config files to generate ++AC_CONFIG_FILES([ ++ Makefile ++ libraw.pc ++ libraw_r.pc ++]) ++ ++# check if we want OpenMP support ++AC_ARG_ENABLE([openmp], [AS_HELP_STRING([--disable-openmp], [Enable OpenMP support (default: yes)])]) ++ ++if test x$enable_openmp != xno ; then ++ AX_OPENMP([ ++ CXXFLAGS="$CXXFLAGS $OPENMP_CXXFLAGS" ++ CFLAGS="$CFLAGS $OPENMP_CFLAGS" ++ AC_SUBST([PC_OPENMP],[" $OPENMP_CFLAGS"]) ++ ],[ ++ AC_MSG_ERROR([OpenMP support cannot be enabled because your system does not support it.]) ++ ]) ++fi ++ ++# check if we want LCMS support ++AC_ARG_ENABLE([lcms], [AS_HELP_STRING([--disable-lcms], [Enable LCMS support (default: yes)])]) ++ ++if test x$enable_lcms != xno ; then ++ PKG_CHECK_MODULES([LCMS], [lcms], [ ++ CPPFLAGS="$CPPFLAGS -DUSE_LCMS" ++ ],[ ++ AC_MSG_ERROR([LCMS support cannot be enabled because: '$LCMS_PKG_ERRORS']) ++ ]) ++fi ++ ++# check if we want build examples ++AC_ARG_ENABLE([examples], [AS_HELP_STRING([--enable-examples], [Enable building of examples (default: no)])]) ++AM_CONDITIONAL([EXAMPLES], [test x$enable_examples = xyes]) ++ ++AC_OUTPUT +diff --git a/libraw.pc.in b/libraw.pc.in +new file mode 100644 +index 0000000..dafe9b6 +--- /dev/null ++++ b/libraw.pc.in +@@ -0,0 +1,11 @@ ++prefix=@prefix@ ++exec_prefix=@exec_prefix@ ++libdir=@libdir@ ++includedir=@includedir@ ++ ++Name: @PACKAGE_NAME@ ++Description: Raw image decoder library (non-thread-safe) ++Requires: lcms ++Version: @PACKAGE_VERSION@ ++Libs: -L${libdir} -lraw -lstdc++ @LCMS_LIBS@ ++Cflags: -I${includedir}/libraw@PC_OPENMP@ +diff --git a/libraw_r.pc.in b/libraw_r.pc.in +new file mode 100644 +index 0000000..0cc1585 +--- /dev/null ++++ b/libraw_r.pc.in +@@ -0,0 +1,11 @@ ++prefix=@prefix@ ++exec_prefix=@exec_prefix@ ++libdir=@libdir@ ++includedir=@includedir@ ++ ++Name: @PACKAGE_NAME@ ++Description: Raw image decoder library (thread-safe) ++Requires: lcms ++Version: @PACKAGE_VERSION@ ++Libs: -L${libdir} -lraw_r -lstdc++ @LCMS_LIBS@ ++Cflags: -I${includedir}/libraw@PC_OPENMP@ +diff --git a/m4/ax_openmp.m4 b/m4/ax_openmp.m4 +new file mode 100644 +index 0000000..7ea794b +--- /dev/null ++++ b/m4/ax_openmp.m4 +@@ -0,0 +1,99 @@ ++# =========================================================================== ++# http://www.gnu.org/software/autoconf-archive/ax_openmp.html ++# =========================================================================== ++# ++# SYNOPSIS ++# ++# AX_OPENMP([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]]) ++# ++# DESCRIPTION ++# ++# This macro tries to find out how to compile programs that use OpenMP a ++# standard API and set of compiler directives for parallel programming ++# (see http://www-unix.mcs/) ++# ++# On success, it sets the OPENMP_CFLAGS/OPENMP_CXXFLAGS/OPENMP_F77FLAGS ++# output variable to the flag (e.g. -omp) used both to compile *and* link ++# OpenMP programs in the current language. ++# ++# NOTE: You are assumed to not only compile your program with these flags, ++# but also link it with them as well. ++# ++# If you want to compile everything with OpenMP, you should set: ++# ++# CFLAGS="$CFLAGS $OPENMP_CFLAGS" ++# #OR# CXXFLAGS="$CXXFLAGS $OPENMP_CXXFLAGS" ++# #OR# FFLAGS="$FFLAGS $OPENMP_FFLAGS" ++# ++# (depending on the selected language). ++# ++# The user can override the default choice by setting the corresponding ++# environment variable (e.g. OPENMP_CFLAGS). ++# ++# ACTION-IF-FOUND is a list of shell commands to run if an OpenMP flag is ++# found, and ACTION-IF-NOT-FOUND is a list of commands to run it if it is ++# not found. If ACTION-IF-FOUND is not specified, the default action will ++# define HAVE_OPENMP. ++# ++# LICENSE ++# ++# Copyright (c) 2008 Steven G. Johnson <stevenj@alum.mit.edu> ++# ++# This program is free software: you can redistribute it and/or modify it ++# under the terms of the GNU General Public License as published by the ++# Free Software Foundation, either version 3 of the License, or (at your ++# option) any later version. ++# ++# This program is distributed in the hope that it will be useful, but ++# WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General ++# Public License for more details. ++# ++# You should have received a copy of the GNU General Public License along ++# with this program. If not, see <http://www.gnu.org/licenses/>. ++# ++# As a special exception, the respective Autoconf Macro's copyright owner ++# gives unlimited permission to copy, distribute and modify the configure ++# scripts that are the output of Autoconf when processing the Macro. You ++# need not follow the terms of the GNU General Public License when using ++# or distributing such scripts, even though portions of the text of the ++# Macro appear in them. The GNU General Public License (GPL) does govern ++# all other use of the material that constitutes the Autoconf Macro. ++# ++# This special exception to the GPL applies to versions of the Autoconf ++# Macro released by the Autoconf Archive. When you make and distribute a ++# modified version of the Autoconf Macro, you may extend this special ++# exception to the GPL to apply to your modified version as well. ++ ++#serial 8 ++ ++AC_DEFUN([AX_OPENMP], [ ++AC_PREREQ(2.59) dnl for _AC_LANG_PREFIX ++ ++AC_CACHE_CHECK([for OpenMP flag of _AC_LANG compiler], ax_cv_[]_AC_LANG_ABBREV[]_openmp, [save[]_AC_LANG_PREFIX[]FLAGS=$[]_AC_LANG_PREFIX[]FLAGS ++ax_cv_[]_AC_LANG_ABBREV[]_openmp=unknown ++# Flags to try: -fopenmp (gcc), -openmp (icc), -mp (SGI & PGI), ++# -xopenmp (Sun), -omp (Tru64), -qsmp=omp (AIX), none ++ax_openmp_flags="-fopenmp -openmp -mp -xopenmp -omp -qsmp=omp none" ++if test "x$OPENMP_[]_AC_LANG_PREFIX[]FLAGS" != x; then ++ ax_openmp_flags="$OPENMP_[]_AC_LANG_PREFIX[]FLAGS $ax_openmp_flags" ++fi ++for ax_openmp_flag in $ax_openmp_flags; do ++ case $ax_openmp_flag in ++ none) []_AC_LANG_PREFIX[]FLAGS=$save[]_AC_LANG_PREFIX[] ;; ++ *) []_AC_LANG_PREFIX[]FLAGS="$save[]_AC_LANG_PREFIX[]FLAGS $ax_openmp_flag" ;; ++ esac ++ AC_TRY_LINK_FUNC(omp_set_num_threads, ++ [ax_cv_[]_AC_LANG_ABBREV[]_openmp=$ax_openmp_flag; break]) ++done ++[]_AC_LANG_PREFIX[]FLAGS=$save[]_AC_LANG_PREFIX[]FLAGS ++]) ++if test "x$ax_cv_[]_AC_LANG_ABBREV[]_openmp" = "xunknown"; then ++ m4_default([$2],:) ++else ++ if test "x$ax_cv_[]_AC_LANG_ABBREV[]_openmp" != "xnone"; then ++ OPENMP_[]_AC_LANG_PREFIX[]FLAGS=$ax_cv_[]_AC_LANG_ABBREV[]_openmp ++ fi ++ m4_default([$1], [AC_DEFINE(HAVE_OPENMP,1,[Define if OpenMP is enabled])]) ++fi ++])dnl AX_OPENMP +-- +1.7.2.3 + diff --git a/media-libs/libraw/libraw-0.10.0-r1.ebuild b/media-libs/libraw/libraw-0.10.0-r1.ebuild new file mode 100644 index 000000000000..285556c74ceb --- /dev/null +++ b/media-libs/libraw/libraw-0.10.0-r1.ebuild @@ -0,0 +1,42 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/media-libs/libraw/libraw-0.10.0-r1.ebuild,v 1.1 2010/09/19 20:13:44 hollow Exp $ + +EAPI="3" + +inherit eutils autotools + +DESCRIPTION="LibRaw is a library for reading RAW files obtained from digital photo cameras" +HOMEPAGE="http://www.libraw.org/" +SRC_URI="http://www.libraw.org/data/LibRaw-${PV}.tar.gz" + +# Libraw also has it's own license, which is a pdf file and +# can be obtained from here: +# http://www.libraw.org/data/LICENSE.LibRaw.pdf +LICENSE="LGPL-2.1 CDDL" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="+lcms +openmp examples" + +DEPEND="lcms? ( =media-libs/lcms-1* )" +RDEPEND="${DEPEND}" + +S="${WORKDIR}/LibRaw-${PV}" + +src_prepare() { + EPATCH_OPTS="-p1" \ + epatch "${FILESDIR}/libraw-0.10.0-autoconf.patch" + + sed -i -e "s/@@VERSION@@/${PV}/" configure.ac + eautoreconf +} + +src_configure() { + econf \ + $(use_enable openmp) \ + $(use_enable lcms) +} + +src_install() { + emake DESTDIR="${D}" install || die "emake install failed" +} |