| @@ -1,14 +1,14 @@ | | | @@ -1,14 +1,14 @@ |
1 | # $NetBSD: bsd.buildlink3.mk,v 1.260 2023/06/14 11:25:59 riastradh Exp $ | | 1 | # $NetBSD: bsd.buildlink3.mk,v 1.261 2023/06/27 10:40:09 riastradh Exp $ |
2 | # | | 2 | # |
3 | # Copyright (c) 2004 The NetBSD Foundation, Inc. | | 3 | # Copyright (c) 2004 The NetBSD Foundation, Inc. |
4 | # All rights reserved. | | 4 | # All rights reserved. |
5 | # | | 5 | # |
6 | # This code is derived from software contributed to The NetBSD Foundation | | 6 | # This code is derived from software contributed to The NetBSD Foundation |
7 | # by Johnny C. Lam. | | 7 | # by Johnny C. Lam. |
8 | # | | 8 | # |
9 | # Redistribution and use in source and binary forms, with or without | | 9 | # Redistribution and use in source and binary forms, with or without |
10 | # modification, are permitted provided that the following conditions | | 10 | # modification, are permitted provided that the following conditions |
11 | # are met: | | 11 | # are met: |
12 | # 1. Redistributions of source code must retain the above copyright | | 12 | # 1. Redistributions of source code must retain the above copyright |
13 | # notice, this list of conditions and the following disclaimer. | | 13 | # notice, this list of conditions and the following disclaimer. |
14 | # 2. Redistributions in binary form must reproduce the above copyright | | 14 | # 2. Redistributions in binary form must reproduce the above copyright |
| @@ -1042,64 +1042,79 @@ _CWRAPPERS_TRANSFORM+= R:${BUILDLINK_X11 | | | @@ -1042,64 +1042,79 @@ _CWRAPPERS_TRANSFORM+= R:${BUILDLINK_X11 |
1042 | # | | 1042 | # |
1043 | # Protect some directories that we allow to be specified for the runtime | | 1043 | # Protect some directories that we allow to be specified for the runtime |
1044 | # library search path. | | 1044 | # library search path. |
1045 | # | | 1045 | # |
1046 | .for _dir_ in ${_BLNK_PASSTHRU_DIRS} ${_BLNK_PASSTHRU_RPATHDIRS} | | 1046 | .for _dir_ in ${_BLNK_PASSTHRU_DIRS} ${_BLNK_PASSTHRU_RPATHDIRS} |
1047 | _BLNK_TRANSFORM+= rpath:${_dir_}:${_BLNK_MANGLE_DIR.${_dir_}} | | 1047 | _BLNK_TRANSFORM+= rpath:${_dir_}:${_BLNK_MANGLE_DIR.${_dir_}} |
1048 | _CWRAPPERS_TRANSFORM+= R:${_dir_}:${_dir_} | | 1048 | _CWRAPPERS_TRANSFORM+= R:${_dir_}:${_dir_} |
1049 | .endfor | | 1049 | .endfor |
1050 | # | | 1050 | # |
1051 | # Convert direct paths to static libraries and libtool archives in | | 1051 | # Convert direct paths to static libraries and libtool archives in |
1052 | # ${LOCALBASE} or ${X11BASE} into references into ${BUILDLINK_DIR}. | | 1052 | # ${LOCALBASE} or ${X11BASE} into references into ${BUILDLINK_DIR}. |
1053 | # | | 1053 | # |
1054 | _BLNK_TRANSFORM+= P:${LOCALBASE}:${_BLNK_MANGLE_DIR.${BUILDLINK_DIR}} | | 1054 | _BLNK_TRANSFORM+= P:${LOCALBASE}:${_BLNK_MANGLE_DIR.${BUILDLINK_DIR}} |
| | | 1055 | .if ${USE_CROSS_COMPILE:tl} == "yes" |
| | | 1056 | _BLNK_TRANSFORM+= P:${CROSS_DESTDIR}${LOCALBASE}:${_BLNK_MANGLE_DIR.${BUILDLINK_DIR}} |
| | | 1057 | .endif |
1055 | .if defined(USE_X11) && ${X11_TYPE} != "modular" | | 1058 | .if defined(USE_X11) && ${X11_TYPE} != "modular" |
1056 | _BLNK_TRANSFORM+= P:${X11BASE}:${_BLNK_MANGLE_DIR.${BUILDLINK_X11_DIR}} | | 1059 | _BLNK_TRANSFORM+= P:${X11BASE}:${_BLNK_MANGLE_DIR.${BUILDLINK_X11_DIR}} |
1057 | _CWRAPPERS_TRANSFORM+= P:${LOCALBASE}:${BUILDLINK_DIR} | | 1060 | _CWRAPPERS_TRANSFORM+= P:${LOCALBASE}:${BUILDLINK_DIR} |
| | | 1061 | .if ${USE_CROSS_COMPILE:tl} == "yes" |
| | | 1062 | _CWRAPPERS_TRANSFORM+= P:${CROSS_DESTDIR}${LOCALBASE}:${BUILDLINK_DIR} |
| | | 1063 | .endif |
1058 | .endif | | 1064 | .endif |
1059 | _CWRAPPERS_TRANSFORM+= P:${X11BASE}:${BUILDLINK_X11_DIR} | | 1065 | _CWRAPPERS_TRANSFORM+= P:${X11BASE}:${BUILDLINK_X11_DIR} |
1060 | # | | 1066 | # |
1061 | # Transform references to ${X11BASE} into ${BUILDLINK_X11_DIR}. | | 1067 | # Transform references to ${X11BASE} into ${BUILDLINK_X11_DIR}. |
1062 | # (do so before transforming references to ${LOCALBASE} unless the | | 1068 | # (do so before transforming references to ${LOCALBASE} unless the |
1063 | # ${X11BASE} path is contained in ${LOCALBASE}'s path) | | 1069 | # ${X11BASE} path is contained in ${LOCALBASE}'s path) |
1064 | # | | 1070 | # |
1065 | .if defined(USE_X11) && empty(LOCALBASE:M${X11BASE}*) && ${X11_TYPE} != "modular" | | 1071 | .if defined(USE_X11) && empty(LOCALBASE:M${X11BASE}*) && ${X11_TYPE} != "modular" |
1066 | _BLNK_TRANSFORM+= I:${X11BASE}:${_BLNK_MANGLE_DIR.${BUILDLINK_X11_DIR}} | | 1072 | _BLNK_TRANSFORM+= I:${X11BASE}:${_BLNK_MANGLE_DIR.${BUILDLINK_X11_DIR}} |
1067 | _BLNK_TRANSFORM+= L:${X11BASE}:${_BLNK_MANGLE_DIR.${BUILDLINK_X11_DIR}} | | 1073 | _BLNK_TRANSFORM+= L:${X11BASE}:${_BLNK_MANGLE_DIR.${BUILDLINK_X11_DIR}} |
1068 | _CWRAPPERS_TRANSFORM+= I:${X11BASE}:${BUILDLINK_X11_DIR} | | 1074 | _CWRAPPERS_TRANSFORM+= I:${X11BASE}:${BUILDLINK_X11_DIR} |
1069 | _CWRAPPERS_TRANSFORM+= L:${X11BASE}:${BUILDLINK_X11_DIR} | | 1075 | _CWRAPPERS_TRANSFORM+= L:${X11BASE}:${BUILDLINK_X11_DIR} |
1070 | .endif | | 1076 | .endif |
1071 | # | | 1077 | # |
1072 | # Transform references to ${LOCALBASE} into ${BUILDLINK_DIR}. | | 1078 | # Transform references to ${LOCALBASE} into ${BUILDLINK_DIR}. |
1073 | # | | 1079 | # |
1074 | _BLNK_TRANSFORM+= I:${LOCALBASE}:${_BLNK_MANGLE_DIR.${BUILDLINK_DIR}} | | 1080 | _BLNK_TRANSFORM+= I:${LOCALBASE}:${_BLNK_MANGLE_DIR.${BUILDLINK_DIR}} |
1075 | _BLNK_TRANSFORM+= L:${LOCALBASE}:${_BLNK_MANGLE_DIR.${BUILDLINK_DIR}} | | 1081 | _BLNK_TRANSFORM+= L:${LOCALBASE}:${_BLNK_MANGLE_DIR.${BUILDLINK_DIR}} |
1076 | _CWRAPPERS_TRANSFORM+= I:${LOCALBASE}:${BUILDLINK_DIR} | | 1082 | _CWRAPPERS_TRANSFORM+= I:${LOCALBASE}:${BUILDLINK_DIR} |
1077 | _CWRAPPERS_TRANSFORM+= L:${LOCALBASE}:${BUILDLINK_DIR} | | 1083 | _CWRAPPERS_TRANSFORM+= L:${LOCALBASE}:${BUILDLINK_DIR} |
| | | 1084 | .if ${USE_CROSS_COMPILE:tl} == "yes" |
| | | 1085 | _BLNK_TRANSFORM+= I:${CROSS_DESTDIR}${LOCALBASE}:${_BLNK_MANGLE_DIR.${BUILDLINK_DIR}} |
| | | 1086 | _BLNK_TRANSFORM+= L:${CROSS_DESTDIR}${LOCALBASE}:${_BLNK_MANGLE_DIR.${BUILDLINK_DIR}} |
| | | 1087 | _CWRAPPERS_TRANSFORM+= I:${CROSS_DESTDIR}${LOCALBASE}:${BUILDLINK_DIR} |
| | | 1088 | _CWRAPPERS_TRANSFORM+= L:${CROSS_DESTDIR}${LOCALBASE}:${BUILDLINK_DIR} |
| | | 1089 | .endif |
1078 | # | | 1090 | # |
1079 | # Transform references to ${X11BASE} into ${BUILDLINK_X11_DIR}. | | 1091 | # Transform references to ${X11BASE} into ${BUILDLINK_X11_DIR}. |
1080 | # (do so only after transforming references to ${LOCALBASE} if the | | 1092 | # (do so only after transforming references to ${LOCALBASE} if the |
1081 | # ${X11BASE} path is contained in ${LOCALBASE}'s path) | | 1093 | # ${X11BASE} path is contained in ${LOCALBASE}'s path) |
1082 | # | | 1094 | # |
1083 | .if defined(USE_X11) && !empty(LOCALBASE:M${X11BASE}*) && ${X11_TYPE} != "modular" | | 1095 | .if defined(USE_X11) && !empty(LOCALBASE:M${X11BASE}*) && ${X11_TYPE} != "modular" |
1084 | _BLNK_TRANSFORM+= I:${X11BASE}:${_BLNK_MANGLE_DIR.${BUILDLINK_X11_DIR}} | | 1096 | _BLNK_TRANSFORM+= I:${X11BASE}:${_BLNK_MANGLE_DIR.${BUILDLINK_X11_DIR}} |
1085 | _BLNK_TRANSFORM+= L:${X11BASE}:${_BLNK_MANGLE_DIR.${BUILDLINK_X11_DIR}} | | 1097 | _BLNK_TRANSFORM+= L:${X11BASE}:${_BLNK_MANGLE_DIR.${BUILDLINK_X11_DIR}} |
1086 | _CWRAPPERS_TRANSFORM+= I:${X11BASE}:${BUILDLINK_X11_DIR} | | 1098 | _CWRAPPERS_TRANSFORM+= I:${X11BASE}:${BUILDLINK_X11_DIR} |
1087 | _CWRAPPERS_TRANSFORM+= L:${X11BASE}:${BUILDLINK_X11_DIR} | | 1099 | _CWRAPPERS_TRANSFORM+= L:${X11BASE}:${BUILDLINK_X11_DIR} |
1088 | .endif | | 1100 | .endif |
1089 | # | | 1101 | # |
1090 | # Protect any remaining references to ${LOCALBASE}, or ${X11BASE}. | | 1102 | # Protect any remaining references to ${LOCALBASE}, or ${X11BASE}. |
1091 | # | | 1103 | # |
1092 | _BLNK_TRANSFORM+= untransform:sub-mangle:${LOCALBASE}:${_BLNK_MANGLE_DIR.${LOCALBASE}} | | 1104 | _BLNK_TRANSFORM+= untransform:sub-mangle:${LOCALBASE}:${_BLNK_MANGLE_DIR.${LOCALBASE}} |
| | | 1105 | .if ${USE_CROSS_COMPILE:tl} == "yes" |
| | | 1106 | _BLNK_TRANSFORM+= untransform:sub-mangle:${CROSS_DESTDIR}${LOCALBASE}:${_BLNK_MANGLE_DIR.${LOCALBASE}} |
| | | 1107 | .endif |
1093 | .if defined(USE_X11) && ${X11_TYPE} != "modular" | | 1108 | .if defined(USE_X11) && ${X11_TYPE} != "modular" |
1094 | _BLNK_TRANSFORM+= untransform:sub-mangle:${X11BASE}:${_BLNK_MANGLE_DIR.${X11BASE}} | | 1109 | _BLNK_TRANSFORM+= untransform:sub-mangle:${X11BASE}:${_BLNK_MANGLE_DIR.${X11BASE}} |
1095 | .endif | | 1110 | .endif |
1096 | # | | 1111 | # |
1097 | # Explicitly remove everything else that's an absolute path, since we've | | 1112 | # Explicitly remove everything else that's an absolute path, since we've |
1098 | # already protected the ones we care about. | | 1113 | # already protected the ones we care about. |
1099 | # | | 1114 | # |
1100 | _BLNK_TRANSFORM+= no-abspath | | 1115 | _BLNK_TRANSFORM+= no-abspath |
1101 | # | | 1116 | # |
1102 | # Undo the protection for the directories that we allow to be specified | | 1117 | # Undo the protection for the directories that we allow to be specified |
1103 | # for the runtime library search path. | | 1118 | # for the runtime library search path. |
1104 | # | | 1119 | # |
1105 | .for _dir_ in ${_BLNK_PASSTHRU_DIRS} ${_BLNK_PASSTHRU_RPATHDIRS} | | 1120 | .for _dir_ in ${_BLNK_PASSTHRU_DIRS} ${_BLNK_PASSTHRU_RPATHDIRS} |