12233c95bSzrj# include helpers to decide if lto plugin needs to be installed and where 22233c95bSzrj.include "../../../Makefile.buo" 32233c95bSzrj.include "../../../Makefile.cco" 42233c95bSzrj 52233c95bSzrj# liblto_plugin.so needs to linked to a PIC version of libiberty 62233c95bSzrj# A special tailed version of libiberty has been created for this purpose 72233c95bSzrj 82233c95bSzrjGCC_NO_LIBS= # defined 92233c95bSzrj.include "Makefile.headers" 102233c95bSzrj.include "../Makefile.inc" 112233c95bSzrj.PATH: ${GCCDIR}/lto-plugin 122233c95bSzrj.PATH: ${GCCDIR}/libiberty 132233c95bSzrj.PATH: ${GCCDIR}/include 142233c95bSzrj.PATH: ${GCCDIR}/gcc/ada/gcc-interface 152233c95bSzrj.PATH: ${GCCDIR}/gcc/cp 162233c95bSzrj.PATH: ${GCCDIR}/gcc/c 172233c95bSzrj.PATH: ${GCCDIR}/gcc/objc 182233c95bSzrj.PATH: ${GCCDIR}/libcpp/include 192233c95bSzrj 202233c95bSzrjLIB= lto_plugin 212233c95bSzrjSHLIB_MAJOR= 0 222233c95bSzrjNOPROFILE= yes 232233c95bSzrjNOINSTALLLIB= yes 242233c95bSzrj# For gcc -print-prog-name=liblto_plugin.so to work 252233c95bSzrjLIBMODE= 555 262233c95bSzrj 272233c95bSzrj# GCC driver looks for LTO plugin library in libexec, not lib 28*70c1b095SzrjTARGET_LIBDIR= /usr/libexec/gcc80 292233c95bSzrjTARGET_SHLIBDIR= /usr/libexec/gcc80 302233c95bSzrj 312233c95bSzrj# Plugin support file locations 322233c95bSzrjPLUGIN_RESOURCE_DIR= /usr/lib/gcc80/plugin 332233c95bSzrjPLUGIN_HEADER_DIR= ${PLUGIN_RESOURCE_DIR}/include 342233c95bSzrj 352233c95bSzrjSRCS= lto-plugin.c 362233c95bSzrjLDADD= ../libiberty_pic/libiberty_pic.a 372233c95bSzrj 382233c95bSzrjFILESGROUPS+= LVL1_ LVL2_ LVL2_1_ LVL2_2_ LVL2_3_ LVL2_4_ LVL3_ LVL3_ADA_ 392233c95bSzrjLVL1_DIR= ${PLUGIN_RESOURCE_DIR} 402233c95bSzrjLVL2_DIR= ${PLUGIN_HEADER_DIR} 412233c95bSzrjLVL2_1_DIR= ${PLUGIN_HEADER_DIR}/c-family 422233c95bSzrjLVL2_2_DIR= ${PLUGIN_HEADER_DIR}/cp 432233c95bSzrjLVL2_3_DIR= ${PLUGIN_HEADER_DIR}/objc 442233c95bSzrjLVL2_4_DIR= ${PLUGIN_HEADER_DIR}/config 452233c95bSzrjLVL3_DIR= ${PLUGIN_HEADER_DIR}/config/i386 462233c95bSzrjLVL3_ADA_DIR= ${PLUGIN_HEADER_DIR}/ada/gcc-interface 472233c95bSzrj 482233c95bSzrjLVL1_= ${STOPDIR}/cc_prep/config/dragonfly-native.h \ 492233c95bSzrj ${OTOPDIR}/cc_tools/tools/gtype.state 502233c95bSzrjLVL2_= ${PLUGIN_HEADERS} ${STOPDIR}/cc_prep/config.h 512233c95bSzrjLVL2_1_= ${PLUGIN_HEADERS_CFAMILY} 522233c95bSzrjLVL2_2_= ${PLUGIN_HEADERS_CP} 532233c95bSzrjLVL2_3_= ${PLUGIN_HEADERS_OBJC} 542233c95bSzrjLVL2_4_= ${PLUGIN_HEADERS_CONFIG} 552233c95bSzrjLVL3_= ${PLUGIN_HEADERS_CONFIG_I386} 562233c95bSzrjLVL3_ADA_= ${PLUGIN_HEADERS_ADA_GCC} 572233c95bSzrj 582233c95bSzrj# SYMLINK lto plugin to primary/backup binutils bfd-plugin dirs 592233c95bSzrj.if ${CC_PRIMARY} == "gcc80" # we are default gcc compiler 602233c95bSzrjLTOPLUGIN= liblto_plugin.so 612233c95bSzrj.if exists(${DESTDIR}/usr/libexec/${BU_PRIMARY}/bfd-plugins) 622233c95bSzrjBFDPLUGINS= /usr/libexec/${BU_PRIMARY}/bfd-plugins 632233c95bSzrjSYMLINKS+= ../../${CC_PRIMARY}/${LTOPLUGIN} ${BFDPLUGINS}/${LTOPLUGIN} 642233c95bSzrj.endif 652233c95bSzrj.if exists(${DESTDIR}/usr/libexec/${BU_BACKUP}/bfd-plugins) 662233c95bSzrjBFDPLUGINSB= /usr/libexec/${BU_BACKUP}/bfd-plugins 672233c95bSzrjSYMLINKS+= ../../${CC_PRIMARY}/${LTOPLUGIN} ${BFDPLUGINSB}/${LTOPLUGIN} 682233c95bSzrj.endif 692233c95bSzrj.endif 702233c95bSzrj 712233c95bSzrj.include <bsd.lib.mk> 72