# perl4caml configuration -*- Makefile -*-
# Copyright (C) 2003 Merjis Ltd.
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Library General Public
# License as published by the Free Software Foundation; either
# version 2 of the License, or (at your option) any later version.
#
# This library 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
# Library General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this library; see the file COPYING.  If not, write to
# the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
# Boston, MA 02111-1307, USA.
#
# $Id: Makefile.config,v 1.27 2008-03-01 13:02:21 rich Exp $

# PERLINCDIR
# Directory containing the Perl include files, eg. <EXTERN.h>.

PERLINCDIR := $(shell perl -MConfig -e 'print "$$Config{archlib}/CORE"')

# OCAMLLIBDIR
# This is where we will install perl4caml (actually in the /perl subdirectory
# of this, so you will need to add '-I +perl' when compiling programs).

OCAMLLIBDIR := $(shell ocamlc -where)

# EXTRA_CFLAGS
# You can specify extra flags to be passed to gcc here.
#
# One flag you might want to pass here is
#
#   -DPERL4CAML_REFCOUNTING_EXPERIMENTAL=1
#
# which will turn on experimental support for reference counting.
# Without this none of the Perl structures that you allocate will get
# freed.  With this we try to map Perl's reference counting onto
# OCaml's garbage collection by using finalizers.  Although the
# feature is marked "EXPERIMENTAL", I have fixed most of the bugs
# and it's now turned on by default.

#EXTRA_CFLAGS :=
EXTRA_CFLAGS := -DPERL4CAML_REFCOUNTING_EXPERIMENTAL=1
#EXTRA_CFLAGS := -I/Users/rich/OCaml/lib/ocaml/std-lib
#EXTRA_CFLAGS := -g

# DYNALOADER_HACK
# XXX Hack required by ocamlopt, and sometimes ocamlc.
# To work out what this should be, try:
# `perl -MExtUtils::Embed -e ldopts'

DYNALOADER_HACK := $(shell perl -MExtUtils::Embed -e ldopts | egrep -o '/[^[:space:]]*DynaLoader.a')
#DYNALOADER_HACK := /usr/lib/perl/5.8/auto/DynaLoader/DynaLoader.a
#DYNALOADER_HACK := /System/Library/Perl/5.8.1/darwin-thread-multi-2level/auto/DynaLoader/DynaLoader.a

# PACKAGE and VERSION

PACKAGE := perl4caml
VERSION := 0.9.5
