Blame guile/src/Makefile.am

Packit Service 4684c1
#  GnuTLS --- Guile bindings for GnuTLS.
Packit Service 4684c1
#  Copyright (C) 2007-2014, 2016 Free Software Foundation, Inc.
Packit Service 4684c1
#
Packit Service 4684c1
#  GnuTLS is free software; you can redistribute it and/or
Packit Service 4684c1
#  modify it under the terms of the GNU Lesser General Public
Packit Service 4684c1
#  License as published by the Free Software Foundation; either
Packit Service 4684c1
#  version 2.1 of the License, or (at your option) any later version.
Packit Service 4684c1
#
Packit Service 4684c1
#  GnuTLS is distributed in the hope that it will be useful,
Packit Service 4684c1
#  but WITHOUT ANY WARRANTY; without even the implied warranty of
Packit Service 4684c1
#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Packit Service 4684c1
#  Lesser General Public License for more details.
Packit Service 4684c1
#
Packit Service 4684c1
#  You should have received a copy of the GNU Lesser General Public
Packit Service 4684c1
#  License along with GnuTLS; if not, write to the Free Software
Packit Service 4684c1
#  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
Packit Service 4684c1
Packit Service 4684c1
GUILE_FOR_BUILD =						\
Packit Service 4684c1
  GUILE_AUTO_COMPILE=0 $(GUILE) -L $(top_srcdir)/guile/modules
Packit Service 4684c1
Packit Service 4684c1
noinst_HEADERS = errors.h utils.h
Packit Service 4684c1
Packit Service 4684c1
EXTRA_DIST =					\
Packit Service 4684c1
  make-enum-map.scm make-smob-types.scm		\
Packit Service 4684c1
  make-enum-header.scm make-smob-header.scm
Packit Service 4684c1
Packit Service 4684c1
# Files generated by the (gnutls build ...) modules.
Packit Service 4684c1
GENERATED_BINDINGS =				\
Packit Service 4684c1
  enum-map.i.c smob-types.i.c enums.h smobs.h
Packit Service 4684c1
Packit Service 4684c1
BUILT_SOURCES =					\
Packit Service 4684c1
  $(GENERATED_BINDINGS)				\
Packit Service 4684c1
  core.x errors.x
Packit Service 4684c1
Packit Service 4684c1
CLEANFILES = $(BUILT_SOURCES)
Packit Service 4684c1
Packit Service 4684c1
guileextension_LTLIBRARIES  = guile-gnutls-v-2.la
Packit Service 4684c1
Packit Service 4684c1
# Use '-module' to build a "dlopenable module", in Libtool terms.
Packit Service 4684c1
# Use '-undefined' to placate Libtool on Windows; see
Packit Service 4684c1
# <https://lists.gnutls.org/pipermail/gnutls-devel/2014-December/007294.html>.
Packit Service 4684c1
guile_gnutls_v_2_la_LDFLAGS = -module -no-undefined
Packit Service 4684c1
Packit Service 4684c1
# Linking against GnuTLS.
Packit Service 4684c1
GNUTLS_CORE_LIBS  = $(top_builddir)/lib/libgnutls.la
Packit Service 4684c1
Packit Service 4684c1
# Linking against Gnulib modules.
Packit Service 4684c1
GNULIB_LIBS    = $(top_builddir)/gl/libgnu.la
Packit Service 4684c1
GNULIB_CFLAGS  = -I$(top_builddir)/gl -I$(top_srcdir)/gl
Packit Service 4684c1
Packit Service 4684c1
Packit Service 4684c1
guile_gnutls_v_2_la_SOURCES = core.c errors.c utils.c
Packit Service 4684c1
guile_gnutls_v_2_la_CFLAGS =			\
Packit Service 4684c1
  $(AM_CFLAGS) $(GNULIB_CFLAGS) $(GUILE_CFLAGS)
Packit Service 4684c1
guile_gnutls_v_2_la_LIBADD = \
Packit Service 4684c1
	$(GNUTLS_CORE_LIBS) $(GNULIB_LIBS) \
Packit Service 4684c1
	$(GUILE_LDFLAGS)
Packit Service 4684c1
Packit Service 4684c1
AM_CPPFLAGS = \
Packit Service 4684c1
	-I$(top_srcdir)/lib/includes \
Packit Service 4684c1
	-I$(top_builddir)/lib/includes	\
Packit Service 4684c1
	-I$(top_srcdir)/extra/includes \
Packit Service 4684c1
	-I$(top_builddir) \
Packit Service 4684c1
	-I$(builddir)
Packit Service 4684c1
Packit Service 4684c1
if HAVE_GCC
Packit Service 4684c1
Packit Service 4684c1
AM_CFLAGS = -Wall -Wextra
Packit Service 4684c1
Packit Service 4684c1
# Generated `.x' files and Guile's `scm_c_define_gsubr ()' require
Packit Service 4684c1
# `-Wno-strict-prototypes'.  This trick makes sure `-Wno-s-p' appears
Packit Service 4684c1
# after `-Ws-p'.
Packit Service 4684c1
AM_CFLAGS += -Wno-strict-prototypes
Packit Service 4684c1
Packit Service 4684c1
# Functions generated from 'SCM_SMOB_PRINT' & co. typically have
Packit Service 4684c1
# unused parameters.
Packit Service 4684c1
AM_CFLAGS += -Wno-unused-parameter
Packit Service 4684c1
Packit Service 4684c1
# The `-fgnu89-inline' option appeared in GCC 4.1.3.
Packit Service 4684c1
if HAVE_GCC_GNU89_INLINE_OPTION
Packit Service 4684c1
Packit Service 4684c1
# Guile and GMP currently rely on GNU inline semantics, not C99 inline.
Packit Service 4684c1
AM_CFLAGS += -fgnu89-inline
Packit Service 4684c1
Packit Service 4684c1
endif HAVE_GCC_GNU89_INLINE_OPTION
Packit Service 4684c1
Packit Service 4684c1
endif HAVE_GCC
Packit Service 4684c1
Packit Service 4684c1
Packit Service 4684c1
enums.h: $(srcdir)/make-enum-header.scm
Packit Service 4684c1
	$(AM_V_GEN)$(GUILE_FOR_BUILD) "$^" > "$@.tmp"
Packit Service 4684c1
	$(AM_V_at)mv "$@.tmp" "$@"
Packit Service 4684c1
Packit Service 4684c1
enum-map.i.c: $(srcdir)/make-enum-map.scm
Packit Service 4684c1
	$(AM_V_GEN)$(GUILE_FOR_BUILD) "$^" > "$@.tmp"
Packit Service 4684c1
	$(AM_V_at)mv "$@.tmp" "$@"
Packit Service 4684c1
Packit Service 4684c1
smobs.h: $(srcdir)/make-smob-header.scm
Packit Service 4684c1
	$(AM_V_GEN)$(GUILE_FOR_BUILD) "$^" > "$@.tmp"
Packit Service 4684c1
	$(AM_V_at)mv "$@.tmp" "$@"
Packit Service 4684c1
Packit Service 4684c1
smob-types.i.c: $(srcdir)/make-smob-types.scm
Packit Service 4684c1
	$(AM_V_GEN)$(GUILE_FOR_BUILD) "$^" > "$@.tmp"
Packit Service 4684c1
	$(AM_V_at)mv "$@.tmp" "$@"
Packit Service 4684c1
Packit Service 4684c1
Packit Service 4684c1
# C file snarfing.
Packit Service 4684c1
Packit Service 4684c1
# `$(GUILE_CFLAGS)' may contain a series of `-I' switches so it must be
Packit Service 4684c1
# included here, even though we'd really want `$(GUILE_CPPFLAGS)'.
Packit Service 4684c1
snarfcppopts = $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
Packit Service 4684c1
	       $(CFLAGS) $(guile_gnutls_v_2_la_CFLAGS)
Packit Service 4684c1
Packit Service 4684c1
# Note: we cannot use the portable ".c.x" form, since that leads
Packit Service 4684c1
# prerequisites to be ignored:
Packit Service 4684c1
# <https://lists.gnutls.org/pipermail/gnutls-devel/2013-September/006453.html>.
Packit Service 4684c1
%.x: %.c $(GENERATED_BINDINGS)
Packit Service 4684c1
	$(AM_V_GEN)$(guile_snarf) -o $@ $< $(snarfcppopts)
Packit Service 4684c1
Packit Service 4684c1
# Target used by doc/Makefile, to create all built sources necessary
Packit Service 4684c1
# for generating the manual.
Packit Service 4684c1
Packit Service 4684c1
.PHONY: built-sources
Packit Service 4684c1
built-sources: $(BUILT_SOURCES)