113498266Sopenharmony_ci#--------------------------------------------------------------------------- 213498266Sopenharmony_ci# 313498266Sopenharmony_ci# xc-val-flgs.m4 413498266Sopenharmony_ci# 513498266Sopenharmony_ci# Copyright (C), Daniel Stenberg <daniel@haxx.se> 613498266Sopenharmony_ci# 713498266Sopenharmony_ci# Permission to use, copy, modify, and distribute this software for any 813498266Sopenharmony_ci# purpose with or without fee is hereby granted, provided that the above 913498266Sopenharmony_ci# copyright notice and this permission notice appear in all copies. 1013498266Sopenharmony_ci# 1113498266Sopenharmony_ci# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 1213498266Sopenharmony_ci# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 1313498266Sopenharmony_ci# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 1413498266Sopenharmony_ci# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 1513498266Sopenharmony_ci# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 1613498266Sopenharmony_ci# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 1713498266Sopenharmony_ci# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 1813498266Sopenharmony_ci# 1913498266Sopenharmony_ci# SPDX-License-Identifier: ISC 2013498266Sopenharmony_ci# 2113498266Sopenharmony_ci#--------------------------------------------------------------------------- 2213498266Sopenharmony_ci 2313498266Sopenharmony_ci# serial 1 2413498266Sopenharmony_ci 2513498266Sopenharmony_ci 2613498266Sopenharmony_cidnl _XC_CHECK_VAR_LIBS 2713498266Sopenharmony_cidnl ------------------------------------------------- 2813498266Sopenharmony_cidnl Private macro. 2913498266Sopenharmony_ci 3013498266Sopenharmony_ciAC_DEFUN([_XC_CHECK_VAR_LIBS], [ 3113498266Sopenharmony_ci xc_bad_var_libs=no 3213498266Sopenharmony_ci for xc_word in $LIBS; do 3313498266Sopenharmony_ci case "$xc_word" in 3413498266Sopenharmony_ci -l* | --library=*) 3513498266Sopenharmony_ci : 3613498266Sopenharmony_ci ;; 3713498266Sopenharmony_ci *) 3813498266Sopenharmony_ci xc_bad_var_libs=yes 3913498266Sopenharmony_ci ;; 4013498266Sopenharmony_ci esac 4113498266Sopenharmony_ci done 4213498266Sopenharmony_ci if test $xc_bad_var_libs = yes; then 4313498266Sopenharmony_ci AC_MSG_NOTICE([using LIBS: $LIBS]) 4413498266Sopenharmony_ci AC_MSG_NOTICE([LIBS note: LIBS should only be used to specify libraries (-lname).]) 4513498266Sopenharmony_ci fi 4613498266Sopenharmony_ci]) 4713498266Sopenharmony_ci 4813498266Sopenharmony_ci 4913498266Sopenharmony_cidnl _XC_CHECK_VAR_LDFLAGS 5013498266Sopenharmony_cidnl ------------------------------------------------- 5113498266Sopenharmony_cidnl Private macro. 5213498266Sopenharmony_ci 5313498266Sopenharmony_ciAC_DEFUN([_XC_CHECK_VAR_LDFLAGS], [ 5413498266Sopenharmony_ci xc_bad_var_ldflags=no 5513498266Sopenharmony_ci for xc_word in $LDFLAGS; do 5613498266Sopenharmony_ci case "$xc_word" in 5713498266Sopenharmony_ci -D*) 5813498266Sopenharmony_ci xc_bad_var_ldflags=yes 5913498266Sopenharmony_ci ;; 6013498266Sopenharmony_ci -U*) 6113498266Sopenharmony_ci xc_bad_var_ldflags=yes 6213498266Sopenharmony_ci ;; 6313498266Sopenharmony_ci -I*) 6413498266Sopenharmony_ci xc_bad_var_ldflags=yes 6513498266Sopenharmony_ci ;; 6613498266Sopenharmony_ci -l* | --library=*) 6713498266Sopenharmony_ci xc_bad_var_ldflags=yes 6813498266Sopenharmony_ci ;; 6913498266Sopenharmony_ci esac 7013498266Sopenharmony_ci done 7113498266Sopenharmony_ci if test $xc_bad_var_ldflags = yes; then 7213498266Sopenharmony_ci AC_MSG_NOTICE([using LDFLAGS: $LDFLAGS]) 7313498266Sopenharmony_ci xc_bad_var_msg="LDFLAGS note: LDFLAGS should only be used to specify linker flags, not" 7413498266Sopenharmony_ci for xc_word in $LDFLAGS; do 7513498266Sopenharmony_ci case "$xc_word" in 7613498266Sopenharmony_ci -D*) 7713498266Sopenharmony_ci AC_MSG_NOTICE([$xc_bad_var_msg macro definitions. Use CPPFLAGS for: $xc_word]) 7813498266Sopenharmony_ci ;; 7913498266Sopenharmony_ci -U*) 8013498266Sopenharmony_ci AC_MSG_NOTICE([$xc_bad_var_msg macro suppressions. Use CPPFLAGS for: $xc_word]) 8113498266Sopenharmony_ci ;; 8213498266Sopenharmony_ci -I*) 8313498266Sopenharmony_ci AC_MSG_NOTICE([$xc_bad_var_msg include directories. Use CPPFLAGS for: $xc_word]) 8413498266Sopenharmony_ci ;; 8513498266Sopenharmony_ci -l* | --library=*) 8613498266Sopenharmony_ci AC_MSG_NOTICE([$xc_bad_var_msg libraries. Use LIBS for: $xc_word]) 8713498266Sopenharmony_ci ;; 8813498266Sopenharmony_ci esac 8913498266Sopenharmony_ci done 9013498266Sopenharmony_ci fi 9113498266Sopenharmony_ci]) 9213498266Sopenharmony_ci 9313498266Sopenharmony_ci 9413498266Sopenharmony_cidnl _XC_CHECK_VAR_CPPFLAGS 9513498266Sopenharmony_cidnl ------------------------------------------------- 9613498266Sopenharmony_cidnl Private macro. 9713498266Sopenharmony_ci 9813498266Sopenharmony_ciAC_DEFUN([_XC_CHECK_VAR_CPPFLAGS], [ 9913498266Sopenharmony_ci xc_bad_var_cppflags=no 10013498266Sopenharmony_ci for xc_word in $CPPFLAGS; do 10113498266Sopenharmony_ci case "$xc_word" in 10213498266Sopenharmony_ci -rpath*) 10313498266Sopenharmony_ci xc_bad_var_cppflags=yes 10413498266Sopenharmony_ci ;; 10513498266Sopenharmony_ci -L* | --library-path=*) 10613498266Sopenharmony_ci xc_bad_var_cppflags=yes 10713498266Sopenharmony_ci ;; 10813498266Sopenharmony_ci -l* | --library=*) 10913498266Sopenharmony_ci xc_bad_var_cppflags=yes 11013498266Sopenharmony_ci ;; 11113498266Sopenharmony_ci esac 11213498266Sopenharmony_ci done 11313498266Sopenharmony_ci if test $xc_bad_var_cppflags = yes; then 11413498266Sopenharmony_ci AC_MSG_NOTICE([using CPPFLAGS: $CPPFLAGS]) 11513498266Sopenharmony_ci xc_bad_var_msg="CPPFLAGS note: CPPFLAGS should only be used to specify C preprocessor flags, not" 11613498266Sopenharmony_ci for xc_word in $CPPFLAGS; do 11713498266Sopenharmony_ci case "$xc_word" in 11813498266Sopenharmony_ci -rpath*) 11913498266Sopenharmony_ci AC_MSG_NOTICE([$xc_bad_var_msg library runtime directories. Use LDFLAGS for: $xc_word]) 12013498266Sopenharmony_ci ;; 12113498266Sopenharmony_ci -L* | --library-path=*) 12213498266Sopenharmony_ci AC_MSG_NOTICE([$xc_bad_var_msg library directories. Use LDFLAGS for: $xc_word]) 12313498266Sopenharmony_ci ;; 12413498266Sopenharmony_ci -l* | --library=*) 12513498266Sopenharmony_ci AC_MSG_NOTICE([$xc_bad_var_msg libraries. Use LIBS for: $xc_word]) 12613498266Sopenharmony_ci ;; 12713498266Sopenharmony_ci esac 12813498266Sopenharmony_ci done 12913498266Sopenharmony_ci fi 13013498266Sopenharmony_ci]) 13113498266Sopenharmony_ci 13213498266Sopenharmony_ci 13313498266Sopenharmony_cidnl _XC_CHECK_VAR_CFLAGS 13413498266Sopenharmony_cidnl ------------------------------------------------- 13513498266Sopenharmony_cidnl Private macro. 13613498266Sopenharmony_ci 13713498266Sopenharmony_ciAC_DEFUN([_XC_CHECK_VAR_CFLAGS], [ 13813498266Sopenharmony_ci xc_bad_var_cflags=no 13913498266Sopenharmony_ci for xc_word in $CFLAGS; do 14013498266Sopenharmony_ci case "$xc_word" in 14113498266Sopenharmony_ci -D*) 14213498266Sopenharmony_ci xc_bad_var_cflags=yes 14313498266Sopenharmony_ci ;; 14413498266Sopenharmony_ci -U*) 14513498266Sopenharmony_ci xc_bad_var_cflags=yes 14613498266Sopenharmony_ci ;; 14713498266Sopenharmony_ci -I*) 14813498266Sopenharmony_ci xc_bad_var_cflags=yes 14913498266Sopenharmony_ci ;; 15013498266Sopenharmony_ci -rpath*) 15113498266Sopenharmony_ci xc_bad_var_cflags=yes 15213498266Sopenharmony_ci ;; 15313498266Sopenharmony_ci -L* | --library-path=*) 15413498266Sopenharmony_ci xc_bad_var_cflags=yes 15513498266Sopenharmony_ci ;; 15613498266Sopenharmony_ci -l* | --library=*) 15713498266Sopenharmony_ci xc_bad_var_cflags=yes 15813498266Sopenharmony_ci ;; 15913498266Sopenharmony_ci esac 16013498266Sopenharmony_ci done 16113498266Sopenharmony_ci if test $xc_bad_var_cflags = yes; then 16213498266Sopenharmony_ci AC_MSG_NOTICE([using CFLAGS: $CFLAGS]) 16313498266Sopenharmony_ci xc_bad_var_msg="CFLAGS note: CFLAGS should only be used to specify C compiler flags, not" 16413498266Sopenharmony_ci for xc_word in $CFLAGS; do 16513498266Sopenharmony_ci case "$xc_word" in 16613498266Sopenharmony_ci -D*) 16713498266Sopenharmony_ci AC_MSG_NOTICE([$xc_bad_var_msg macro definitions. Use CPPFLAGS for: $xc_word]) 16813498266Sopenharmony_ci ;; 16913498266Sopenharmony_ci -U*) 17013498266Sopenharmony_ci AC_MSG_NOTICE([$xc_bad_var_msg macro suppressions. Use CPPFLAGS for: $xc_word]) 17113498266Sopenharmony_ci ;; 17213498266Sopenharmony_ci -I*) 17313498266Sopenharmony_ci AC_MSG_NOTICE([$xc_bad_var_msg include directories. Use CPPFLAGS for: $xc_word]) 17413498266Sopenharmony_ci ;; 17513498266Sopenharmony_ci -rpath*) 17613498266Sopenharmony_ci AC_MSG_NOTICE([$xc_bad_var_msg library runtime directories. Use LDFLAGS for: $xc_word]) 17713498266Sopenharmony_ci ;; 17813498266Sopenharmony_ci -L* | --library-path=*) 17913498266Sopenharmony_ci AC_MSG_NOTICE([$xc_bad_var_msg library directories. Use LDFLAGS for: $xc_word]) 18013498266Sopenharmony_ci ;; 18113498266Sopenharmony_ci -l* | --library=*) 18213498266Sopenharmony_ci AC_MSG_NOTICE([$xc_bad_var_msg libraries. Use LIBS for: $xc_word]) 18313498266Sopenharmony_ci ;; 18413498266Sopenharmony_ci esac 18513498266Sopenharmony_ci done 18613498266Sopenharmony_ci fi 18713498266Sopenharmony_ci]) 18813498266Sopenharmony_ci 18913498266Sopenharmony_ci 19013498266Sopenharmony_cidnl XC_CHECK_USER_FLAGS 19113498266Sopenharmony_cidnl ------------------------------------------------- 19213498266Sopenharmony_cidnl Public macro. 19313498266Sopenharmony_cidnl 19413498266Sopenharmony_cidnl Performs some sanity checks for LIBS, LDFLAGS, 19513498266Sopenharmony_cidnl CPPFLAGS and CFLAGS values that the user might 19613498266Sopenharmony_cidnl have set. When checks fails, user is noticed 19713498266Sopenharmony_cidnl about errors detected in all of them and script 19813498266Sopenharmony_cidnl execution is halted. 19913498266Sopenharmony_cidnl 20013498266Sopenharmony_cidnl Intended to be used early in configure script. 20113498266Sopenharmony_ci 20213498266Sopenharmony_ciAC_DEFUN([XC_CHECK_USER_FLAGS], [ 20313498266Sopenharmony_ci AC_PREREQ([2.50])dnl 20413498266Sopenharmony_ci AC_BEFORE([$0],[XC_CHECK_PROG_CC])dnl 20513498266Sopenharmony_ci dnl check order below matters 20613498266Sopenharmony_ci _XC_CHECK_VAR_LIBS 20713498266Sopenharmony_ci _XC_CHECK_VAR_LDFLAGS 20813498266Sopenharmony_ci _XC_CHECK_VAR_CPPFLAGS 20913498266Sopenharmony_ci _XC_CHECK_VAR_CFLAGS 21013498266Sopenharmony_ci if test $xc_bad_var_libs = yes || 21113498266Sopenharmony_ci test $xc_bad_var_cflags = yes || 21213498266Sopenharmony_ci test $xc_bad_var_ldflags = yes || 21313498266Sopenharmony_ci test $xc_bad_var_cppflags = yes; then 21413498266Sopenharmony_ci AC_MSG_ERROR([Can not continue. Fix errors mentioned immediately above this line.]) 21513498266Sopenharmony_ci fi 21613498266Sopenharmony_ci]) 21713498266Sopenharmony_ci 21813498266Sopenharmony_ci 21913498266Sopenharmony_cidnl XC_CHECK_BUILD_FLAGS 22013498266Sopenharmony_cidnl ------------------------------------------------- 22113498266Sopenharmony_cidnl Public macro. 22213498266Sopenharmony_cidnl 22313498266Sopenharmony_cidnl Performs some sanity checks for LIBS, LDFLAGS, 22413498266Sopenharmony_cidnl CPPFLAGS and CFLAGS values that the configure 22513498266Sopenharmony_cidnl script might have set. When checks fails, user 22613498266Sopenharmony_cidnl is noticed about errors detected in all of them 22713498266Sopenharmony_cidnl but script continues execution. 22813498266Sopenharmony_cidnl 22913498266Sopenharmony_cidnl Intended to be used very late in configure script. 23013498266Sopenharmony_ci 23113498266Sopenharmony_ciAC_DEFUN([XC_CHECK_BUILD_FLAGS], [ 23213498266Sopenharmony_ci AC_PREREQ([2.50])dnl 23313498266Sopenharmony_ci dnl check order below matters 23413498266Sopenharmony_ci _XC_CHECK_VAR_LIBS 23513498266Sopenharmony_ci _XC_CHECK_VAR_LDFLAGS 23613498266Sopenharmony_ci _XC_CHECK_VAR_CPPFLAGS 23713498266Sopenharmony_ci _XC_CHECK_VAR_CFLAGS 23813498266Sopenharmony_ci if test $xc_bad_var_libs = yes || 23913498266Sopenharmony_ci test $xc_bad_var_cflags = yes || 24013498266Sopenharmony_ci test $xc_bad_var_ldflags = yes || 24113498266Sopenharmony_ci test $xc_bad_var_cppflags = yes; then 24213498266Sopenharmony_ci AC_MSG_WARN([Continuing even with errors mentioned immediately above this line.]) 24313498266Sopenharmony_ci fi 24413498266Sopenharmony_ci]) 245