bsd.own.mk revision 246259
1195534Sscottl# $FreeBSD: head/share/mk/bsd.own.mk 246259 2013-02-02 22:28:29Z dim $ 2238805Smav# 3195534Sscottl# The include file <bsd.own.mk> set common variables for owner, 4195534Sscottl# group, mode, and directories. Defaults are in brackets. 5195534Sscottl# 6195534Sscottl# 7195534Sscottl# +++ variables +++ 8195534Sscottl# 9195534Sscottl# DESTDIR Change the tree where the file gets installed. [not set] 10195534Sscottl# 11195534Sscottl# DISTDIR Change the tree where the file for a distribution 12195534Sscottl# gets installed (see /usr/src/release/Makefile). [not set] 13195534Sscottl# 14195534Sscottl# COMPRESS_CMD Program to compress documents. 15195534Sscottl# Output is to stdout. [gzip -cn] 16195534Sscottl# 17195534Sscottl# COMPRESS_EXT File name extension of ${COMPRESS_CMD} command. [.gz] 18195534Sscottl# 19195534Sscottl# BINOWN Binary owner. [root] 20195534Sscottl# 21195534Sscottl# BINGRP Binary group. [wheel] 22195534Sscottl# 23195534Sscottl# BINMODE Binary mode. [555] 24195534Sscottl# 25195534Sscottl# NOBINMODE Mode for non-executable files. [444] 26195534Sscottl# 27195534Sscottl# LIBDIR Base path for libraries. [/usr/lib] 28195534Sscottl# 29195534Sscottl# LIBCOMPATDIR Base path for compat libraries. [/usr/lib/compat] 30195534Sscottl# 31195534Sscottl# LIBDATADIR Base path for misc. utility data files. [/usr/libdata] 32195534Sscottl# 33195534Sscottl# LIBEXECDIR Base path for system daemons and utilities. [/usr/libexec] 34195534Sscottl# 35220576Smav# LINTLIBDIR Base path for lint libraries. [/usr/libdata/lint] 36195534Sscottl# 37195534Sscottl# SHLIBDIR Base path for shared libraries. [${LIBDIR}] 38195534Sscottl# 39195534Sscottl# LIBOWN Library owner. [${BINOWN}] 40195534Sscottl# 41195534Sscottl# LIBGRP Library group. [${BINGRP}] 42195534Sscottl# 43195534Sscottl# LIBMODE Library mode. [${NOBINMODE}] 44195534Sscottl# 45195534Sscottl# 46195534Sscottl# KMODDIR Base path for loadable kernel modules 47195534Sscottl# (see kld(4)). [/boot/kernel] 48271146Simp# 49271146Simp# KMODOWN Kernel and KLD owner. [${BINOWN}] 50195534Sscottl# 51276344Smarius# KMODGRP Kernel and KLD group. [${BINGRP}] 52199176Smav# 53203030Smav# KMODMODE KLD mode. [${BINMODE}] 54199176Smav# 55199322Smav# 56199176Smav# SHAREDIR Base path for architecture-independent ascii 57271146Simp# text files. [/usr/share] 58278034Ssmh# 59278034Ssmh# SHAREOWN ASCII text file owner. [root] 60278034Ssmh# 61278034Ssmh# SHAREGRP ASCII text file group. [wheel] 62278034Ssmh# 63278034Ssmh# SHAREMODE ASCII text file mode. [${NOBINMODE}] 64278034Ssmh# 65278034Ssmh# 66278034Ssmh# CONFDIR Base path for configuration files. [/etc] 67278034Ssmh# 68278034Ssmh# CONFOWN Configuration file owner. [root] 69271146Simp# 70271146Simp# CONFGRP Configuration file group. [wheel] 71244146Smav# 72244146Smav# CONFMODE Configuration file mode. [644] 73244146Smav# 74244146Smav# 75244146Smav# DOCDIR Base path for system documentation (e.g. PSD, USD, 76260830Smav# handbook, FAQ etc.). [${SHAREDIR}/doc] 77225140Smav# 78203030Smav# DOCOWN Documentation owner. [${SHAREOWN}] 79203030Smav# 80203030Smav# DOCGRP Documentation group. [${SHAREGRP}] 81203030Smav# 82203030Smav# DOCMODE Documentation mode. [${NOBINMODE}] 83203030Smav# 84203030Smav# 85203030Smav# INFODIR Base path for GNU's hypertext system 86203030Smav# called Info (see info(1)). [${SHAREDIR}/info] 87203030Smav# 88203030Smav# INFOOWN Info owner. [${SHAREOWN}] 89203030Smav# 90203030Smav# INFOGRP Info group. [${SHAREGRP}] 91203030Smav# 92203030Smav# INFOMODE Info mode. [${NOBINMODE}] 93203030Smav# 94203030Smav# 95203030Smav# MANDIR Base path for manual installation. [${SHAREDIR}/man/man] 96203030Smav# 97203030Smav# MANOWN Manual owner. [${SHAREOWN}] 98203030Smav# 99203030Smav# MANGRP Manual group. [${SHAREGRP}] 100203030Smav# 101203030Smav# MANMODE Manual mode. [${NOBINMODE}] 102203030Smav# 103203030Smav# 104203030Smav# NLSDIR Base path for National Language Support files 105203030Smav# installation. [${SHAREDIR}/nls] 106203030Smav# 107211922Smav# NLSOWN National Language Support files owner. [${SHAREOWN}] 108211922Smav# 109211922Smav# NLSGRP National Language Support files group. [${SHAREGRP}] 110211922Smav# 111211922Smav# NLSMODE National Language Support files mode. [${NOBINMODE}] 112211922Smav# 113211922Smav# INCLUDEDIR Base path for standard C include files [/usr/include] 114211922Smav 115211922Smav.if !target(__<bsd.own.mk>__) 116211922Smav__<bsd.own.mk>__: 117218605Smav 118218605Smav.if !defined(_WITHOUT_SRCCONF) 119218605SmavSRCCONF?= /etc/src.conf 120229671Sjimharris.if exists(${SRCCONF}) 121221789Sjfv.include "${SRCCONF}" 122221789Sjfv.endif 123258162Smav.endif 124258162Smav 125258162Smav# Binaries 126258162SmavBINOWN?= root 127258162SmavBINGRP?= wheel 128258162SmavBINMODE?= 555 129258162SmavNOBINMODE?= 444 130258162Smav 131258162Smav.if defined(MODULES_WITH_WORLD) 132258162SmavKMODDIR?= /boot/modules 133258162Smav.else 134258162SmavKMODDIR?= /boot/kernel 135258162Smav.endif 136258162SmavKMODOWN?= ${BINOWN} 137258162SmavKMODGRP?= ${BINGRP} 138258162SmavKMODMODE?= ${BINMODE} 139258162Smav 140258162SmavLIBDIR?= /usr/lib 141258162SmavLIBCOMPATDIR?= /usr/lib/compat 142258162SmavLIBDATADIR?= /usr/libdata 143258162SmavLIBEXECDIR?= /usr/libexec 144258162SmavLINTLIBDIR?= /usr/libdata/lint 145278034SsmhSHLIBDIR?= ${LIBDIR} 146258162SmavLIBOWN?= ${BINOWN} 147258162SmavLIBGRP?= ${BINGRP} 148244983SjfvLIBMODE?= ${NOBINMODE} 149244983Sjfv 150258162Smav 151258162Smav# Share files 152258162SmavSHAREDIR?= /usr/share 153258162SmavSHAREOWN?= root 154258162SmavSHAREGRP?= wheel 155258162SmavSHAREMODE?= ${NOBINMODE} 156275101Smav 157275101SmavCONFDIR?= /etc 158275101SmavCONFOWN?= root 159275101SmavCONFGRP?= wheel 160275101SmavCONFMODE?= 644 161275101Smav 162275101SmavMANDIR?= ${SHAREDIR}/man/man 163275101SmavMANOWN?= ${SHAREOWN} 164258162SmavMANGRP?= ${SHAREGRP} 165258162SmavMANMODE?= ${NOBINMODE} 166258162Smav 167258162SmavDOCDIR?= ${SHAREDIR}/doc 168258162SmavDOCOWN?= ${SHAREOWN} 169258162SmavDOCGRP?= ${SHAREGRP} 170258162SmavDOCMODE?= ${NOBINMODE} 171258162Smav 172258162SmavINFODIR?= ${SHAREDIR}/info 173258162SmavINFOOWN?= ${SHAREOWN} 174258162SmavINFOGRP?= ${SHAREGRP} 175258162SmavINFOMODE?= ${NOBINMODE} 176258162Smav 177258162SmavNLSDIR?= ${SHAREDIR}/nls 178258162SmavNLSOWN?= ${SHAREOWN} 179221789SjfvNLSGRP?= ${SHAREGRP} 180239907SmavNLSMODE?= ${NOBINMODE} 181203030Smav 182239907SmavINCLUDEDIR?= /usr/include 183203030Smav 184203030Smav# 185203030Smav# install(1) parameters. 186203030Smav# 187285020SmavHRDLINK?= -l h 188285020SmavSYMLINK?= -l s 189285020Smav 190285020SmavINSTALL_LINK?= ${INSTALL} ${HRDLINK} 191285020SmavINSTALL_SYMLINK?= ${INSTALL} ${SYMLINK} 192285020Smav 193285020Smav# Common variables 194285020Smav.if !defined(DEBUG_FLAGS) 195271163SmavSTRIP?= -s 196271163Smav.endif 197271163Smav 198271163SmavCOMPRESS_CMD?= gzip -cn 199271163SmavCOMPRESS_EXT?= .gz 200271163Smav 201271163Smav.if !defined(_WITHOUT_SRCCONF) 202271163Smav# 203271163Smav# Define MK_* variables (which are either "yes" or "no") for users 204271163Smav# to set via WITH_*/WITHOUT_* in /etc/src.conf and override in the 205271163Smav# make(1) environment. 206271163Smav# These should be tested with `== "no"' or `!= "no"' in makefiles. 207271163Smav# The NO_* variables should only be set by makefiles. 208271163Smav# 209271163Smav 210271163Smav# 211271163Smav# Supported NO_* options (if defined, MK_* will be forced to "no", 212271163Smav# regardless of user's setting). 213271163Smav# 214271163Smav.for var in \ 215271163Smav CTF \ 216271163Smav INSTALLLIB \ 217271163Smav MAN \ 218271163Smav PROFILE 219271163Smav.if defined(NO_${var}) 220207499Smav.if defined(WITH_${var}) 221207499Smav.undef WITH_${var} 222207499Smav.endif 223207499SmavWITHOUT_${var}= 224207499Smav.endif 225207499Smav.endfor 226207499Smav 227207499Smav# 228207499Smav# Older-style variables that enabled behaviour when set. 229207499Smav# 230207499Smav.if defined(YES_HESIOD) 231207499SmavWITH_HESIOD= 232207499Smav.endif 233207499Smav.if defined(MAKE_IDEA) 234207499SmavWITH_IDEA= 235207499Smav.endif 236207499Smav 237207499Smav__DEFAULT_YES_OPTIONS = \ 238207499Smav ACCT \ 239207499Smav ACPI \ 240207499Smav AMD \ 241207499Smav APM \ 242207499Smav ASSERT_DEBUG \ 243207499Smav AT \ 244207499Smav ATF \ 245207499Smav ATM \ 246207499Smav AUDIT \ 247207499Smav AUTHPF \ 248207499Smav BIND \ 249207499Smav BIND_DNSSEC \ 250207499Smav BIND_ETC \ 251207499Smav BIND_LIBS_LWRES \ 252207499Smav BIND_MTREE \ 253207499Smav BIND_NAMED \ 254207499Smav BIND_UTILS \ 255207499Smav BINUTILS \ 256207499Smav BLUETOOTH \ 257207499Smav BOOT \ 258207499Smav BSD_CPIO \ 259207499Smav BSNMP \ 260207499Smav BZIP2 \ 261207499Smav CALENDAR \ 262207499Smav CAPSICUM \ 263207499Smav CDDL \ 264207499Smav CPP \ 265207499Smav CRYPT \ 266207499Smav CTM \ 267207499Smav CVS \ 268207499Smav CXX \ 269207499Smav DICT \ 270207499Smav DYNAMICROOT \ 271207499Smav ED_CRYPTO \ 272207499Smav EXAMPLES \ 273207499Smav FLOPPY \ 274207499Smav FORTH \ 275207499Smav FP_LIBC \ 276207499Smav FREEBSD_UPDATE \ 277207499Smav GAMES \ 278224603Smav GCC \ 279207499Smav GCOV \ 280207499Smav GDB \ 281207499Smav GNU \ 282207499Smav GPIB \ 283207499Smav GPIO \ 284207499Smav GROFF \ 285207499Smav HTML \ 286207499Smav INET \ 287207499Smav INET6 \ 288207499Smav INFO \ 289271403Smav INSTALLLIB \ 290208907Smav IPFILTER \ 291208907Smav IPFW \ 292203030Smav IPX \ 293203030Smav JAIL \ 294203030Smav KDUMP \ 295279573Semaste KERBEROS \ 296297447Szbb KERNEL_SYMBOLS \ 297203030Smav KVM \ 298199176Smav LEGACY_CONSOLE \ 299199176Smav LIB32 \ 300271146Simp LIBPTHREAD \ 301271146Simp LIBTHR \ 302271146Simp LOCALES \ 303220565Smav LOCATE \ 304271146Simp LPR \ 305271146Simp LS_COLORS \ 306271146Simp MAIL \ 307271146Simp MAILWRAPPER \ 308271146Simp MAKE \ 309228200Smav MAN \ 310195534Sscottl NDIS \ 311195534Sscottl NETCAT \ 312195534Sscottl NETGRAPH \ 313199176Smav NIS \ 314199322Smav NLS \ 315199322Smav NLS_CATALOGS \ 316203030Smav NS_CACHING \ 317199322Smav NTP \ 318260163Szbb OPENSSH \ 319260163Szbb OPENSSL \ 320260163Szbb PAM \ 321260163Szbb PC_SYSINSTALL \ 322260163Szbb PF \ 323260163Szbb PKGBOOTSTRAP \ 324260163Szbb PKGTOOLS \ 325199322Smav PMC \ 326199322Smav PORTSNAP \ 327199322Smav PPP \ 328199322Smav PROFILE \ 329199322Smav QUOTAS \ 330288111Smav RCMDS \ 331288111Smav RCS \ 332288111Smav RESCUE \ 333199322Smav ROUTED \ 334199322Smav SENDMAIL \ 335199322Smav SETUID_LOGIN \ 336203030Smav SHAREDOCS \ 337228200Smav SOURCELESS \ 338228200Smav SOURCELESS_HOST \ 339199717Smav SOURCELESS_UCODE \ 340199717Smav SSP \ 341199717Smav SYMVER \ 342199717Smav SYSCONS \ 343199322Smav SYSINSTALL \ 344199322Smav TCSH \ 345199322Smav TELNET \ 346280393Smav TEXTPROC \ 347199322Smav TOOLCHAIN \ 348199322Smav USB \ 349288111Smav UTMPX \ 350199322Smav WIRELESS \ 351199322Smav WPA_SUPPLICANT_EAPOL \ 352280393Smav ZFS \ 353199322Smav ZONEINFO 354199322Smav 355199322Smav__DEFAULT_NO_OPTIONS = \ 356199322Smav ARM_EABI \ 357199322Smav BSD_PATCH \ 358199322Smav BIND_IDN \ 359199176Smav BIND_LARGE_FILE \ 360199176Smav BIND_LIBS \ 361203030Smav BIND_SIGCHASE \ 362195534Sscottl BIND_XML \ 363199322Smav BMAKE \ 364199322Smav BSDCONFIG \ 365199176Smav BSD_GREP \ 366199176Smav CLANG_EXTRAS \ 367203030Smav CTF \ 368203030Smav GPL_DTC \ 369199176Smav HESIOD \ 370199176Smav ICONV \ 371199176Smav IDEA \ 372280393Smav INSTALL_AS_USER \ 373199176Smav NMTREE \ 374199176Smav NAND \ 375199176Smav OFED \ 376280393Smav OPENSSH_NONE_CIPHER \ 377195534Sscottl SHARED_TOOLCHAIN 378195534Sscottl 379195534Sscottl# 380285789Szbb# Default behaviour of some options depends on the architecture. Unfortunately 381285789Szbb# this means that we have to test TARGET_ARCH (the buildworld case) as well 382285789Szbb# as MACHINE_ARCH (the non-buildworld case). Normally TARGET_ARCH is not 383285789Szbb# used at all in bsd.*.mk, but we have to make an exception here if we want 384285789Szbb# to allow defaults for some things like clang and fdt to vary by target 385285789Szbb# architecture. 386285789Szbb# 387285789Szbb.if defined(TARGET_ARCH) 388285789Szbb__T=${TARGET_ARCH} 389285789Szbb.else 390285789Szbb__T=${MACHINE_ARCH} 391285789Szbb.endif 392285789Szbb# Clang is only for x86 and powerpc right now, by default. 393285789Szbb.if ${__T} == "amd64" || ${__T} == "i386" || ${__T:Mpowerpc*} 394285789Szbb__DEFAULT_YES_OPTIONS+=CLANG CLANG_FULL 395285789Szbb.else 396285789Szbb__DEFAULT_NO_OPTIONS+=CLANG CLANG_FULL 397285789Szbb.endif 398285789Szbb# Clang the default system compiler only on x86. 399285789Szbb.if ${__T} == "amd64" || ${__T} == "i386" 400285789Szbb__DEFAULT_YES_OPTIONS+=CLANG_IS_CC 401285789Szbb.else 402271146Simp__DEFAULT_NO_OPTIONS+=CLANG_IS_CC 403195534Sscottl.endif 404195534Sscottl# FDT is needed only for arm, mips and powerpc 405271146Simp.if ${__T:Marm*} || ${__T:Mpowerpc*} || ${__T:Mmips*} 406199322Smav__DEFAULT_YES_OPTIONS+=FDT 407203030Smav.else 408285789Szbb__DEFAULT_NO_OPTIONS+=FDT 409285789Szbb.endif 410195534Sscottl.undef __T 411285789Szbb 412285789Szbb# 413285789Szbb# MK_* options which default to "yes". 414199322Smav# 415203030Smav.for var in ${__DEFAULT_YES_OPTIONS} 416203030Smav.if defined(WITH_${var}) && defined(WITHOUT_${var}) 417203030Smav.error WITH_${var} and WITHOUT_${var} can't both be set. 418199322Smav.endif 419199322Smav.if defined(MK_${var}) 420271146Simp.error MK_${var} can't be set by a user. 421271146Simp.endif 422271146Simp.if defined(WITHOUT_${var}) 423271146SimpMK_${var}:= no 424271146Simp.else 425271146SimpMK_${var}:= yes 426297921Smav.endif 427297921Smav.endfor 428271146Simp.undef __DEFAULT_YES_OPTIONS 429271146Simp 430271146Simp# 431271146Simp# MK_* options which default to "no". 432277100Skib# 433277100Skib.for var in ${__DEFAULT_NO_OPTIONS} 434277100Skib.if defined(WITH_${var}) && defined(WITHOUT_${var}) 435277100Skib.error WITH_${var} and WITHOUT_${var} can't both be set. 436277100Skib.endif 437277100Skib.if defined(MK_${var}) 438195534Sscottl.error MK_${var} can't be set by a user. 439195534Sscottl.endif 440195534Sscottl.if defined(WITH_${var}) 441285789SzbbMK_${var}:= yes 442297447Szbb.else 443297447SzbbMK_${var}:= no 444297447Szbb.endif 445285789Szbb.endfor 446285789Szbb.undef __DEFAULT_NO_OPTIONS 447285789Szbb 448285789Szbb# 449285789Szbb# Force some options off if their dependencies are off. 450285789Szbb# Order is somewhat important. 451285789Szbb# 452285789Szbb.if ${MK_LIBPTHREAD} == "no" 453285789SzbbMK_LIBTHR:= no 454285789Szbb.endif 455285789Szbb 456285789Szbb.if ${MK_LIBTHR} == "no" 457285789SzbbMK_BIND:= no 458285789Szbb.endif 459285789Szbb 460285789Szbb.if ${MK_BIND} == "no" 461285789SzbbMK_BIND_DNSSEC:= no 462285789SzbbMK_BIND_ETC:= no 463285789SzbbMK_BIND_LIBS:= no 464285789SzbbMK_BIND_LIBS_LWRES:= no 465285789SzbbMK_BIND_MTREE:= no 466285789SzbbMK_BIND_NAMED:= no 467285789SzbbMK_BIND_UTILS:= no 468285789Szbb.endif 469285789Szbb 470285789Szbb.if ${MK_BIND_MTREE} == "no" 471285789SzbbMK_BIND_ETC:= no 472285789Szbb.endif 473285789Szbb 474285789Szbb.if ${MK_SOURCELESS} == "no" 475285789SzbbMK_SOURCELESS_HOST:= no 476285789SzbbMK_SOURCELESS_UCODE:= no 477285789Szbb.endif 478285789Szbb 479285789Szbb.if ${MK_CDDL} == "no" 480285789SzbbMK_ZFS:= no 481285789SzbbMK_CTF:= no 482285789Szbb.endif 483285789Szbb 484285789Szbb.if ${MK_CRYPT} == "no" 485285789SzbbMK_OPENSSL:= no 486285789SzbbMK_OPENSSH:= no 487285789SzbbMK_KERBEROS:= no 488285789Szbb.endif 489285789Szbb 490285789Szbb.if ${MK_CXX} == "no" 491207511SmavMK_CLANG:= no 492195534SscottlMK_GROFF:= no 493271146Simp.endif 494285789Szbb 495195534Sscottl.if ${MK_MAIL} == "no" 496297793SpfgMK_MAILWRAPPER:= no 497222304SmavMK_SENDMAIL:= no 498195534Sscottl.endif 499195534Sscottl 500271146Simp.if ${MK_NETGRAPH} == "no" 501195534SscottlMK_ATM:= no 502245875SmavMK_BLUETOOTH:= no 503256843Smav.endif 504278034Ssmh 505278034Ssmh.if ${MK_OPENSSL} == "no" 506278034SsmhMK_OPENSSH:= no 507278034SsmhMK_KERBEROS:= no 508195534Sscottl.endif 509256843Smav 510256843Smav.if ${MK_PF} == "no" 511285789SzbbMK_AUTHPF:= no 512285789Szbb.endif 513256843Smav 514256843Smav.if ${MK_TEXTPROC} == "no" 515285789SzbbMK_GROFF:= no 516285789Szbb.endif 517285789Szbb 518285789Szbb.if ${MK_TOOLCHAIN} == "no" 519256843SmavMK_BINUTILS:= no 520285789SzbbMK_CLANG:= no 521285789SzbbMK_GCC:= no 522285789SzbbMK_GDB:= no 523285789Szbb.endif 524285789Szbb 525285789Szbb.if ${MK_CLANG} == "no" 526285789SzbbMK_CLANG_EXTRAS:= no 527285789SzbbMK_CLANG_FULL:= no 528285789SzbbMK_CLANG_IS_CC:= no 529285789Szbb.endif 530285789Szbb 531285789Szbb# 532285789Szbb# Set defaults for the MK_*_SUPPORT variables. 533285789Szbb# 534285789Szbb 535285789Szbb# 536285789Szbb# MK_*_SUPPORT options which default to "yes" unless their corresponding 537285789Szbb# MK_* variable is set to "no". 538285789Szbb# 539285789Szbb.for var in \ 540285789Szbb BZIP2 \ 541285789Szbb GNU \ 542285789Szbb INET \ 543285789Szbb INET6 \ 544285789Szbb IPX \ 545285789Szbb KERBEROS \ 546285789Szbb KVM \ 547285789Szbb NETGRAPH \ 548256843Smav PAM \ 549195534Sscottl WIRELESS 550271146Simp.if defined(WITH_${var}_SUPPORT) && defined(WITHOUT_${var}_SUPPORT) 551285789Szbb.error WITH_${var}_SUPPORT and WITHOUT_${var}_SUPPORT can't both be set. 552285789Szbb.endif 553271146Simp.if defined(MK_${var}_SUPPORT) 554285789Szbb.error MK_${var}_SUPPORT can't be set by a user. 555285789Szbb.endif 556271146Simp.if defined(WITHOUT_${var}_SUPPORT) || ${MK_${var}} == "no" 557195534SscottlMK_${var}_SUPPORT:= no 558195534Sscottl.else 559195534SscottlMK_${var}_SUPPORT:= yes 560271146Simp.endif 561195534Sscottl.endfor 562195534Sscottl 563271146Simp# 564271146Simp# MK_* options whose default value depends on another option. 565195534Sscottl# 566195534Sscottl.for vv in \ 567195534Sscottl GSSAPI/KERBEROS \ 568195534Sscottl MAN_UTILS/MAN 569271146Simp.if defined(WITH_${vv:H}) && defined(WITHOUT_${vv:H}) 570195534Sscottl.error WITH_${vv:H} and WITHOUT_${vv:H} can't both be set. 571195534Sscottl.endif 572195534Sscottl.if defined(MK_${vv:H}) 573271146Simp.error MK_${vv:H} can't be set by a user. 574271146Simp.endif 575271146Simp.if defined(WITH_${vv:H}) 576271146SimpMK_${vv:H}:= yes 577271146Simp.elif defined(WITHOUT_${vv:H}) 578195534SscottlMK_${vv:H}:= no 579195534Sscottl.else 580195534SscottlMK_${vv:H}:= ${MK_${vv:T}} 581271146Simp.endif 582195534Sscottl.endfor 583271146Simp 584195534Sscottl# 585271146Simp# MK_* options that default to "yes" if the compiler is a C++11 compiler. 586271146Simp# 587271146Simp.include <bsd.compiler.mk> 588271146Simp.for var in \ 589195534Sscottl LIBCPLUSPLUS 590195534Sscottl.if defined(WITH_${var}) && defined(WITHOUT_${var}) 591195534Sscottl.error WITH_${var} and WITHOUT_${var} can't both be set. 592195534Sscottl.endif 593195534Sscottl.if defined(MK_${var}) 594271146Simp.error MK_${var} can't be set by a user. 595271146Simp.endif 596271146Simp.if ${COMPILER_FEATURES:Mc++11} 597271146Simp.if defined(WITHOUT_${var}) 598195534SscottlMK_${var}:= no 599195534Sscottl.else 600195534SscottlMK_${var}:= yes 601195534Sscottl.endif 602195534Sscottl.else 603208410Smav.if defined(WITH_${var}) 604249346SmavMK_${var}:= yes 605276344Smarius.else 606195534SscottlMK_${var}:= no 607195534Sscottl.endif 608195534Sscottl.endif 609195534Sscottl.endfor 610195534Sscottl 611195534Sscottl.if ${MK_CTF} != "no" 612276344SmariusCTFCONVERT_CMD= ${CTFCONVERT} ${CTFFLAGS} ${.TARGET} 613199322Smav.elif defined(.PARSEDIR) || (defined(MAKE_VERSION) && ${MAKE_VERSION} >= 5201111300) 614199322SmavCTFCONVERT_CMD= 615271146Simp.else 616271146SimpCTFCONVERT_CMD= @: 617271146Simp.endif 618271146Simp 619199322Smav.if ${MK_INSTALL_AS_USER} != "no" 620199322Smav_uid!= id -u 621199322Smav.if ${_uid} != 0 622199322Smav.if !defined(USER) 623199322SmavUSER!= id -un 624208410Smav.endif 625276344Smarius_gid!= id -gn 626199322Smav.for x in BIN CONF DOC INFO KMOD LIB MAN NLS SHARE 627199322Smav$xOWN= ${USER} 628199322Smav$xGRP= ${_gid} 629199322Smav.endfor 630199322Smav.endif 631199322Smav.endif 632276344Smarius 633.endif # !_WITHOUT_SRCCONF 634 635.endif # !target(__<bsd.own.mk>__) 636