Skip to content

Commit ccceeca

Browse files
committed
configure: add --with-julia=PREFIX option
1 parent 16b06e7 commit ccceeca

3 files changed

Lines changed: 51 additions & 0 deletions

File tree

GNUmakefile.in

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,10 @@ READLINE_CPPFLAGS = @READLINE_CPPFLAGS@
6161
READLINE_LDFLAGS = @READLINE_LDFLAGS@
6262
READLINE_LIBS = @READLINE_LIBS@
6363

64+
JULIA_CPPFLAGS = @JULIA_CPPFLAGS@
65+
JULIA_LDFLAGS = @JULIA_LDFLAGS@
66+
JULIA_LIBS = @JULIA_LIBS@
67+
6468
BUILD_BOEHM_GC = @BUILD_BOEHM_GC@
6569
BOEHM_GC_CPPFLAGS = @BOEHM_GC_CPPFLAGS@
6670
BOEHM_GC_LDFLAGS = @BOEHM_GC_LDFLAGS@

Makefile.rules

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -150,11 +150,13 @@ GAP_PKG_CPPFLAGS += $(DEFS)
150150
# Add flags for dependencies
151151
GAP_CPPFLAGS += $(GMP_CPPFLAGS)
152152
GAP_CPPFLAGS += $(READLINE_CPPFLAGS)
153+
GAP_CPPFLAGS += $(JULIA_CPPFLAGS)
153154
GAP_CPPFLAGS += $(BOEHM_GC_CPPFLAGS)
154155
GAP_CPPFLAGS += $(LIBATOMIC_OPS_CPPFLAGS)
155156

156157
GAP_PKG_CPPFLAGS += $(GMP_CPPFLAGS)
157158
GAP_PKG_CPPFLAGS += $(READLINE_CPPFLAGS)
159+
GAP_PKG_CPPFLAGS += $(JULIA_CPPFLAGS)
158160
GAP_PKG_CPPFLAGS += $(BOEHM_GC_CPPFLAGS)
159161
GAP_PKG_CPPFLAGS += $(LIBATOMIC_OPS_CPPFLAGS)
160162

@@ -187,6 +189,7 @@ GAP_LDFLAGS = $(ABI_CFLAGS)
187189
# Add flags for dependencies
188190
GAP_LDFLAGS += $(GMP_LDFLAGS)
189191
GAP_LDFLAGS += $(READLINE_LDFLAGS)
192+
GAP_LDFLAGS += $(JULIA_LDFLAGS)
190193
GAP_LDFLAGS += $(BOEHM_GC_LDFLAGS)
191194
GAP_LDFLAGS += $(LIBATOMIC_OPS_LDFLAGS)
192195

@@ -204,6 +207,7 @@ GAP_LIBS =
204207
# Add flags for dependencies
205208
GAP_LIBS += $(GMP_LIBS)
206209
GAP_LIBS += $(READLINE_LIBS)
210+
GAP_LIBS += $(JULIA_LIBS)
207211
GAP_LIBS += $(BOEHM_GC_LIBS)
208212
GAP_LIBS += $(LIBATOMIC_OPS_LIBS)
209213

configure.ac

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -395,6 +395,49 @@ AC_SUBST([READLINE_CPPFLAGS])
395395
AC_SUBST([READLINE_LDFLAGS])
396396
AC_SUBST([READLINE_LIBS])
397397

398+
399+
dnl Find julia
400+
AC_ARG_WITH([julia],
401+
[AS_HELP_STRING([--with-julia@<:@=PREFIX@:>@],
402+
[specify a prefix where julia can be found])])
403+
404+
AS_IF([test "x$with_julia" != xno],[
405+
JULIA_LIBS="-ljulia"
406+
AS_CASE([x"$with_julia"],
407+
[xyes|x],[
408+
JULIA_CPPFLAGS=
409+
JULIA_LDFLAGS=
410+
],
411+
[*],[
412+
JULIA_CPPFLAGS="-I$with_julia/include/julia"
413+
JULIA_LDFLAGS="-L$with_julia/lib"
414+
JULIA_LIBS="-ljulia -Wl,-rpath,$with_julia/lib"
415+
]
416+
)
417+
418+
AX_CHECK_LIBRARY([JULIA], [julia.h], [julia], [jl_gc_alloc], [], [], [])
419+
420+
# TODO: also check for gcext.h, so that we can be sure the user is pointing
421+
# at a modified version of Julia.
422+
423+
AS_IF([test $ax_cv_have_JULIA = yes],[
424+
AC_DEFINE([HAVE_LIBJULIA], [1], [Define if you have libjulia])
425+
],[
426+
AS_CASE([x"$with_julia"],
427+
[x], [JULIA_CPPFLAGS= JULIA_LDFLAGS= JULIA_LIBS=],
428+
[*], [AC_MSG_FAILURE([--with-julia was given, but test for julia failed])]
429+
)
430+
])
431+
])
432+
433+
dnl TODO: check if $with_gc = julia; if so, error out if julia is not found
434+
435+
436+
AC_SUBST([JULIA_CPPFLAGS])
437+
AC_SUBST([JULIA_LDFLAGS])
438+
AC_SUBST([JULIA_LIBS])
439+
440+
398441
dnl Find ward (if HPC-GAP mode is enabled)
399442
AC_ARG_WITH([ward],
400443
[AS_HELP_STRING([--with-ward@<:@=PREFIX@:>@],

0 commit comments

Comments
 (0)