#makefile #julia
#makefile #джулия
Вопрос:
Как переносимо найти cflags и ldflags установки julia для передачи компилятору C?
Я пытаюсь внедрить Julia в приложение на C. Прямо сейчас я могу жестко запрограммировать библиотеки julia в строке компиляции, но я бы предпочел найти механизм, который был бы немного более переносимым.
Вот мой текущий Makefile, который требует, чтобы исполняемый файл julia указывал на исходный каталог.
JULIA_BIN = $(shell dirname `which julia`)
JULIA_PATH = $(JULIA_BIN)/../..
JULIA_LIBDIR = $(JULIA_PATH)/usr/lib
JULIA_CFLAGS = -I$(JULIA_PATH)/src -I$(JULIA_PATH)/src/support I$(JULIA_PATH)/include/julia -I$(JULIA_PATH)/usr/include
JULIA_LDFLAGS = -L$(JULIA_LIBDIR) -Wl,-rpath -Wl,$(JULIA_LIBDIR) -ljulia
$(LIBTD_JULIA): td.h td_julia.c $(LIBTD)
$(CC) $(DEBUG) -fPIC -c td_julia.c -o td_julia.o $(JULIA_CFLAGS)
$(CC) $(DEBUG) -shared -fPIC td_julia.o -o $@ $(JULIA_LDFLAGS) ./$(LIBTD)
Комментарии:
1. О, было бы замечательно, если бы julia могла сама указывать предлагаемые флаги компилятора. R имеет нечто похожее, например, вы можете вызвать
R CMD config --cppflags
. Если в Julia ничего подобного нет (я этого не знаю, извините), может быть, стоит рассмотреть возможность отправки запроса на функцию?2. Да, у python есть
python-config --cflags
. Я отправил электронное письмо разработчикам, но разместил здесь, пока жду их ответа, на случай, если это возможно, и другие знали, как это сделать.