summaryrefslogtreecommitdiff
path: root/sys-freebsd/freebsd-mk-defs
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /sys-freebsd/freebsd-mk-defs
reinit the tree, so we can have metadata
Diffstat (limited to 'sys-freebsd/freebsd-mk-defs')
-rw-r--r--sys-freebsd/freebsd-mk-defs/Manifest26
-rw-r--r--sys-freebsd/freebsd-mk-defs/files/freebsd-mk-defs-10.2-gnu.patch63
-rw-r--r--sys-freebsd/freebsd-mk-defs/files/freebsd-mk-defs-10.3-gentoo.patch337
-rw-r--r--sys-freebsd/freebsd-mk-defs/files/freebsd-mk-defs-11.0-drop-unsupport-cflags.patch13
-rw-r--r--sys-freebsd/freebsd-mk-defs/files/freebsd-mk-defs-11.0-gentoo.patch343
-rw-r--r--sys-freebsd/freebsd-mk-defs/files/freebsd-mk-defs-11.0-gnu.patch63
-rw-r--r--sys-freebsd/freebsd-mk-defs/files/freebsd-mk-defs-11.0-libproc-libcxx.patch13
-rw-r--r--sys-freebsd/freebsd-mk-defs/files/freebsd-mk-defs-11.0-rename-libs.patch16
-rw-r--r--sys-freebsd/freebsd-mk-defs/files/freebsd-mk-defs-11.1-gentoo.patch343
-rw-r--r--sys-freebsd/freebsd-mk-defs/files/freebsd-mk-defs-8.0-gentoo.patch332
-rw-r--r--sys-freebsd/freebsd-mk-defs/files/freebsd-mk-defs-8.0-gnu.patch121
-rw-r--r--sys-freebsd/freebsd-mk-defs/files/freebsd-mk-defs-9.1-gentoo.patch326
-rw-r--r--sys-freebsd/freebsd-mk-defs/files/freebsd-mk-defs-9.1-gnu.patch77
-rw-r--r--sys-freebsd/freebsd-mk-defs/files/freebsd-mk-defs-add-nossp-cflags.patch28
-rw-r--r--sys-freebsd/freebsd-mk-defs/freebsd-mk-defs-10.3.ebuild41
-rw-r--r--sys-freebsd/freebsd-mk-defs/freebsd-mk-defs-11.0.ebuild54
-rw-r--r--sys-freebsd/freebsd-mk-defs/freebsd-mk-defs-11.1.ebuild54
-rw-r--r--sys-freebsd/freebsd-mk-defs/freebsd-mk-defs-8.2.ebuild40
-rw-r--r--sys-freebsd/freebsd-mk-defs/freebsd-mk-defs-9.1.ebuild38
-rw-r--r--sys-freebsd/freebsd-mk-defs/metadata.xml8
20 files changed, 2336 insertions, 0 deletions
diff --git a/sys-freebsd/freebsd-mk-defs/Manifest b/sys-freebsd/freebsd-mk-defs/Manifest
new file mode 100644
index 000000000000..7b7ee7e18c95
--- /dev/null
+++ b/sys-freebsd/freebsd-mk-defs/Manifest
@@ -0,0 +1,26 @@
+AUX freebsd-mk-defs-10.2-gnu.patch 1853 SHA256 acc69cba0617496e6dcef543198bf5023fb1799b81a458451f58ea2fe63e46a1 SHA512 3913287e294a09bf17a06b8878de40995c27e63c64e79711112c8fc60bb1630e757e8df2ba4ee41720270776ed5df06d7f1cfb9c09e20b566653023466e01a1e WHIRLPOOL 1db20b2a7e39da3b86a4fb09c42980c6c028b1b46baac55c334abccea87f8c6c59f1c3aaa753bcbc2c08e9bad17d342410ca882a75e37edcf9bdfd26ac7ec1ba
+AUX freebsd-mk-defs-10.3-gentoo.patch 11845 SHA256 2298f4bead99ffed440d92c7b0d5ff81542bce0cbf07a3fe99f920201297d010 SHA512 05d0366b58e02ff11e6fa34cd3f731a06e5d4464eee92f05128e2b68bf6b2539e792489a44ff9e224bb994fcdc6807c19be7aaa459163bb900c8ee130b6a4c11 WHIRLPOOL 3bfdda2ebfa3ba81ad7464845c9ca9c81c438a0becf848e960d2a30171d506ae868aa5b5151cfce6f5390a5d487e423112c56eb8a4be24885e1df28a256c2da7
+AUX freebsd-mk-defs-11.0-drop-unsupport-cflags.patch 461 SHA256 4f592c92b88173156bb4688ccc2f26d79a37fa2c9905fc93286291fe80fb9533 SHA512 82275fe36338a31f1da5ed7d60d72e3f7f5eb3c8e029700afbcb9bc6219dc3051f35a49d33694d553fb8bce0dcf2fbdfbead5bc6e074fa7d9aebda19da603168 WHIRLPOOL de041217c36baee221543ebfd6fd202bd8a7f753d27cb9118f8c38b4f94bdde6b6726db6967a007f6ed6aba4b65e39aa139ae374858b32e5a895cb7bd3335d33
+AUX freebsd-mk-defs-11.0-gentoo.patch 12840 SHA256 30b491c6037f302f62c6d7d9cec93d32b03333ded0dc4bf54dbd37b0394801c6 SHA512 1b070418a5cb5739c55dc8f3e146ccd1390031ec6c13283573900922cd547310e0ccc18093c81df8836c3f78d6ce4279c3b56d6ad059ecb1d09f2b55b781ff79 WHIRLPOOL 1e3d87efa5303586218e9719e9d7aa86b9168413638c7b98cb64ff670f30c84d024627c66e8f53f8227c62b945333a8d625160caaaa9b7ce943718a8556c9736
+AUX freebsd-mk-defs-11.0-gnu.patch 1946 SHA256 37005860ec5ecb6fb916668af794f43bdc6fa64a79b01ab01e93cb1156ae1435 SHA512 bda6a5396c653b964426a3de80ed9c37205d30f3a863f7df231e0cc708ce3bca65ef46f2ca8bf63ea9a37309e2d3ac74ccbf0000e147688be686c998d940ded0 WHIRLPOOL f6d4a3cc293e87789827a81e8ddd1c81226dc1bb7f894c8a397b494ae418fdc5a75ac1055ff11ff70a3deec9dbc4fb971d580d9ed588f6de9f18a11f584b2109
+AUX freebsd-mk-defs-11.0-libproc-libcxx.patch 369 SHA256 dbefba73ba46a51a252fe17dbd0530df9fcf613ea990bdfa75689151e24d9ef8 SHA512 87de2c90588bccdc2e74ee206f2ca4135fbf5a4674d8400479d5eb08575a30a5b421bb81008ae1cf577e7acbebdc951fd1bd204b7b99f2818343c3f74ed59545 WHIRLPOOL 1a6df92d61ac0d72ce04c0989377e63a08f995990abb0d7c6fbe876594bf005c6fc277d2fc63b54e5f1dafbf7c1d1740da263a6441fede72d13eb617fae4713b
+AUX freebsd-mk-defs-11.0-rename-libs.patch 478 SHA256 a776bf656af7c328d2cd02c13e95e2c869240476459d8129e0227254e79a0847 SHA512 e07091f6b91d4d02cc6db5f76e0fbddc682f594dc5b9176cf282758253eddfb03093f4ef0b0bb5c514724d6065a6a4784e518526b32a86c7b344f43cb1e56ec2 WHIRLPOOL 5e175ca3eba51680ae1fdd54dfe92eff92f83de4d9b589d7067e0cdd4480991b264da01a28f2a3e237cfe781332ca26e5bbc12f61c5fc9f8e90646a438df0a87
+AUX freebsd-mk-defs-11.1-gentoo.patch 12921 SHA256 c590ae467d76689bac1e78b3da13183dd50dba2fd60cfcc3e5fdfd8e5450168e SHA512 5253780ce30522f90d7c6ba7292333e3e8edf7a295042f954dd70d3b0806a0cea16f8f6eb0fc9bd9e60d6d191569b4e4248d96b114c5133832c5a1c5e3a50339 WHIRLPOOL 68757bc8d78ad81ebdd5ac2115a6ac2ff937bff44b83bc23efbc556573c32c8c333db4f4876d7267a3795426719adde3e5110cda8a242a726c83c5a092bc62d4
+AUX freebsd-mk-defs-8.0-gentoo.patch 11076 SHA256 5510a8e9530c3585374bba26942c46c9bc799da3ae0de9b6fa8bd364088260c5 SHA512 3b3e828ac0f5cafdd3f3ef84ae2e0ea5eb36d9c3d465800d1234d8b405b727628b82ca691513bb47c609dbb7767cfb8f16be05f7eefa361a96cb8f282569e480 WHIRLPOOL ae4a0110d88e584ee650fdb04847a29c285e40f4a5a931fbbc21fefeccd4a3a7b948a15f0a9b09b9672e662de55dd4e293d3745c12eacb0dac3ec7d7f433b973
+AUX freebsd-mk-defs-8.0-gnu.patch 4074 SHA256 00034d4d94ec011f595864113d469ec83d11786802b997b2350e955c6d2d64a0 SHA512 8196f6f01059dd7890af9e0e0be654ad264938f4e8c9a209543b995baf6be43d841417ba8b8340c3c092c8d5f14ad76d578ddcd9267c372999b857ca9a566f03 WHIRLPOOL 28a4600e93855aba192d326beb479743890814c68999290d65a94e7cfa636db897c2c2a2c4ac177a87f8af12ff0a51c1b8ba5a8bb22802e0ef695e7418469d70
+AUX freebsd-mk-defs-9.1-gentoo.patch 11769 SHA256 d9f0585ecdbaec0483d9443543974f6a2157af2fcbe4554e8b61b6255ce6c818 SHA512 2ac2f700b168905df79b8a4c43fb7893ba752fa95b9d55bf0924602903ea5fdd6e4510b89a212dac70dd208ce24928eb202891f932a69507695d49ba59c4c6fe WHIRLPOOL 65946289e0e62ca575e3ce1acd22955e41143eefe0412f5dc6f6d358d95d08c2325d4870475d664a9565cc5492a0debe73d4f24a8ca34dce03ea20b46306f924
+AUX freebsd-mk-defs-9.1-gnu.patch 2273 SHA256 6b8ebbfd2ff724099d593a00dc226ca7f2e12020a9afcf0602b3098b95a2bb18 SHA512 b1537d3c9dcac78de5ddc026b1281887f755990a4a164e9f05cee53acfc1d7f2674ab1dfb4345b3862bdf971d9403e677e0900fb64a4e7b200c38b8d06c64fbd WHIRLPOOL 91b7e4a43f5f83fdd3c9bbaa9a2a82ab28373cca6050e7f558baa67fcc39983be84d43e64b17949c4ed3066c0b2e27d409b4cf18c930e4de793a4f41a54a10e6
+AUX freebsd-mk-defs-add-nossp-cflags.patch 1017 SHA256 fa9f47aa7bee35feee0462b6c91995f648143384c547326bcec3b58f69d3db5b SHA512 012897f4f4b4c3f71d1288ab57adeed56d7f399e508cfa4f593a1f787443e3e4752f7002c86f5da65952ac57eb908d0cce751d7b029048b1c70a9b3c79bea913 WHIRLPOOL 98c8fd10f85e9b2e780ef639de932caaa68ae4da50d7417601ae3366d119445364d15307016561b11fa91e4849a0ba45599a85b988702688e15ebd44457883c1
+DIST freebsd-share-8.2.tar.bz2 3797560 SHA256 dd082c6ddbf8e08ec91d9810d51af4111339bed912b0f74d05be283780292ba0 SHA512 b3f964253f80e58cde12f26e48a23aa75c17b9ab2810f91a4bd2d7efbe902af7c73c219f8373a4fc97ee0a35d25627b8815c79c136ef18620acc8bd0ee5bd6c4 WHIRLPOOL 42326ad6139feadf80509f5e810f6a86009ad3a69aad9550c6355389773c28d5b2f7930eaa852f8442808485d13e5b758ed3420e39048bb3966785e6953119ea
+DIST freebsd-share-9.1.tar.bz2 6733003 SHA256 2bbd8aa05d52b18a1780772a8518d79d375c1eeae98f52fb6aded233ac2491d7 SHA512 9665e3d5253f49a55921012bd21a8688210a1993ba6be4ad17b5ba5619104a50f3199d49a0eb83cf29db5a06c407beb15616bfe71338c680fe34ec47564c4b43 WHIRLPOOL 7d15596888ac42af1a0c125591283524ff794dccbf9f6592963602f046a45ca073b10bda43c2d0d662fd3414753de64c05293788e03c4eea67de55d9bc083c11
+DIST freebsd-src-10.3.tar.xz 126900216 SHA256 f50763dcac88e9b7ec616b77d537bf338f470350e2c85e0cc7decfcc8372b54d SHA512 a0c95fc4bbc5ad7599d0a83651a497e85cd85a5c433e5e175c57480b466c9eb5aa0390804d6336da8301c75ad499484399d39b8f7efbcfda8cafb09b1aa12d8f WHIRLPOOL bf5320bc506fb73a63d0fb324b60667a196ca2fef5d0215637a657c613f2052d76d002deb205e258f6d4e2aaea15490b26679e59a102606a34b58ab1f6b755ad
+DIST freebsd-src-11.0.tar.xz 140252356 SHA256 0725a7f1d3e8985f4b2e31a2ad714334463a5016b203073a8fc196649f3d5a27 SHA512 ee1271bb38ee46fbab3d49b33f5b5afd76f9402b2e792581d63f02272df8e2a4011fac97ad550434f0c2fc5fe241940276629bde55e75f8638896a81339870cd WHIRLPOOL e1cda77189990c1d2187ab2d9e842ff3c619d8235f1ade56819fadc52f680a871de17cf05f8119614557c615ad19d41d1b6080c4b3768e7252889546b865d827
+DIST freebsd-src-11.1.tar.xz 147661560 SHA256 7e1186c2b3f6d070995b88bef5aded34089fed227c7b584c30b28cecaf428154 SHA512 b97707ec7a601ca6bcb682c45f6d94a38484301ac24630d7285eff6f88b027ce6900c93fc62f8ce36e0cf32c91f73a9d1c999db397b7f8782fd74a8551a03aca WHIRLPOOL 3f88b15153c25c7878d1a730213e5bc8c200c05427895ae97280c4412680bb8e67cf4f8170f9e2b0f21d63ec42365f44f7d5eafe614e9b8726f4bc3cc3825202
+EBUILD freebsd-mk-defs-10.3.ebuild 788 SHA256 7f6621e97e306b63a2994a12f2e7f150943017e4d0fdbe340ea4b0c1a6d03b42 SHA512 6ac51811daa22723de886e74ebdea439f7c470b8b694e4f23290c5ea0e0adb2318d6fd437b37a1c93efc19b0c10b9dfc49715f7b9d91a7ba1b26c8b36d2d5def WHIRLPOOL 85f3a191db8dff3a9d1d0d1d4f9a59507983fd39753069ff500c39b37fad28002699f97d3b7251de1fe4d22caecfd0178912a597b3aec698546603cd689dc8bf
+EBUILD freebsd-mk-defs-11.0.ebuild 1149 SHA256 44dd3fc8836bb6f789180d0f6347508fda089969caf80b094fec7d9a44b7c07e SHA512 fd01633abb5978ef5655cbe94a014937a18489bb6d04285e7df2e80f5c10cd7a6e33fd0733449bcc791a0cab05fc80ddb4230667806bcfacaf9d4dd4e9fff1d3 WHIRLPOOL dd8db3918113ada116f69ea5f8a620186ab6568dbf0bccc74bc4f84c097163824c5f48b474c5876bdfecb97cc89674cb5ac4f13da9812be408cb5e6510c3de4f
+EBUILD freebsd-mk-defs-11.1.ebuild 1149 SHA256 925e218ab2a8a31a3b9b5e4ddf329b1ddfd930f1f3928238c98e7f9f648196e4 SHA512 b7fb837f9b5012e3871a49411b3847d5bc9b0051ea714bcf530f777a28f4332eb6300eb0cd0d8c61b6b69cc80ba42f072f42bc2038aeedddcac7cb82c2ff88e2 WHIRLPOOL e904f403838fc0be527438aa97205c920bdbf1fa3d0abab753554566bb58812fd4ebf8beb87fba5f3dc39127bf69aac4638848a708e26e40420d2f681cc6cdf1
+EBUILD freebsd-mk-defs-8.2.ebuild 748 SHA256 e04638eeee587d0815fbbada8055cecc844d04805b8c595774329b8c1863e23a SHA512 9a22a431da4e76eb6c65666a90d1b43c06cc7670dc218684a38ab64e1dff49315c10e6c39dc9bfcd8ab0d0891b224dfb4fb80f86472e5281695a876a413a2d18 WHIRLPOOL ad2e423cc1d7b7f3f2368b77f19c4c774f01b02a5ca9d07d472e0c00a4fdc3de0f9f272558b4483babc6ee690c15b27ba311ffa3dd01d48005924ccb27832c6c
+EBUILD freebsd-mk-defs-9.1.ebuild 772 SHA256 12472e4661c75506934e2e31ef03c7c46f7e77d7800e2a96f4eb5019b5eb1038 SHA512 cb737ae76e02f4a8105bde9c14737370a10b1c5c0962ded3275c1faef30fb84f2328409a89b243f5cfd91cec67d73c6da0b0c63a17453311a67ab56e91033dc5 WHIRLPOOL 59d0038b8d384b4cade307959eb1b9cb204e4e8ece39e3bb9a77918439de2356fcef5db5bba1bbd3cc48c9f00f5c97cddd2cbfc371a70b5e37e3e38372197ac3
+MISC ChangeLog 4153 SHA256 634e3fef5c9ae0f4d88ce400eb770c785a9ab0497e7e5f88d08e64fb1d18650b SHA512 a6d99161376d1decd938b611323d5393908d5ef12ad8f61c31d641ccd85dbae2792bd4d89f00c4c1f19e6a162c362b4fa2c03570ee5979527349813e30180a8c WHIRLPOOL 26a3eb87d86c83c7f8aa6d2d929a972712b37fb08b744790a55b3e7b8436164a4f191fd9ea2f67613dd4f637ce0eabb60f472499519e25ad3ac2141e4b33d198
+MISC ChangeLog-2015 13372 SHA256 e6e8cbcb39e9106eb67a3b84d6eafedac45a1289893a3a0c83cd2e9ef6025d82 SHA512 b02e2c36de5881725945c0b3f4711c7087ae13950887ed246c11d6021ca13448edb40282e644d8941fed957f5a9d6496e5fa6c5481dd9d7852b9e69166efa618 WHIRLPOOL 8280172b04096f2af53512fd7a8303d617bd6b8ed371716249f125389323e529313ce626e4ed704c44521292525c82fb3939dbc5c5111413737dc8aaf7499e83
+MISC metadata.xml 238 SHA256 501d93b0c41ed422505100f002758cd173cd9783ae7fbb53e2ec5f238c868340 SHA512 173efaa53a514acf1e2f0c6681c82a48ec16d505844f551d2cc823ee8685b27837c7461f7956c12182059ee7e83023e2f0bcd5d1afab74beeaf998487193656d WHIRLPOOL 4ca51d994f011a5e7e4939f02a54b5c2f9f3e526665893c9ac2876c9871b7dc80361393d41c5247b3a5520e82d31d0dd10da520e7715c94b806a94ce0fed2a5a
diff --git a/sys-freebsd/freebsd-mk-defs/files/freebsd-mk-defs-10.2-gnu.patch b/sys-freebsd/freebsd-mk-defs/files/freebsd-mk-defs-10.2-gnu.patch
new file mode 100644
index 000000000000..b88fde255007
--- /dev/null
+++ b/sys-freebsd/freebsd-mk-defs/files/freebsd-mk-defs-10.2-gnu.patch
@@ -0,0 +1,63 @@
+diff --git a/share/mk/bsd.lib.mk b/share/mk/bsd.lib.mk
+index 80549d8..fd2aac5 100644
+--- a/share/mk/bsd.lib.mk
++++ b/share/mk/bsd.lib.mk
+@@ -173,7 +173,7 @@ _LIBS= lib${LIB}.a
+ lib${LIB}.a: ${OBJS} ${STATICOBJS}
+ @${ECHO} building static ${LIB} library
+ @rm -f ${.TARGET}
+- @${AR} ${ARFLAGS} ${.TARGET} `NM='${NM}' lorder ${OBJS} ${STATICOBJS} | tsort -q` ${ARADD}
++ @${AR} ${ARFLAGS} ${.TARGET} ${OBJS} ${STATICOBJS} ${ARADD}
+ ${RANLIB} ${RANLIBFLAGS} ${.TARGET}
+ .endif
+
+@@ -186,7 +186,7 @@ POBJS+= ${OBJS:.o=.po} ${STATICOBJS:.o=.po}
+ lib${LIB}_p.a: ${POBJS}
+ @${ECHO} building profiled ${LIB} library
+ @rm -f ${.TARGET}
+- @${AR} ${ARFLAGS} ${.TARGET} `NM='${NM}' lorder ${POBJS} | tsort -q` ${ARADD}
++ @${AR} ${ARFLAGS} ${.TARGET} {POBJS} ${ARADD}
+ ${RANLIB} ${RANLIBFLAGS} ${.TARGET}
+ .endif
+
+@@ -215,7 +215,7 @@ ${SHLIB_NAME_FULL}: ${SOBJS}
+ .endif
+ ${_LD} ${LDFLAGS} ${SSP_CFLAGS} ${SOLINKOPTS} \
+ -o ${.TARGET} -Wl,-soname,${SONAME} \
+- `NM='${NM}' lorder ${SOBJS} | tsort -q` ${LDADD}
++ `echo ${SOBJS} | xargs -n 1 echo | sort -u` ${LDADD}
+ .if ${MK_CTF} != "no"
+ ${CTFMERGE} ${CTFFLAGS} -o ${.TARGET} ${SOBJS}
+ .endif
+@@ -273,13 +273,6 @@ _EXTRADEPEND:
+
+ .if !target(install)
+
+-.if defined(PRECIOUSLIB)
+-.if !defined(NO_FSCHG)
+-SHLINSTALLFLAGS+= -fschg
+-.endif
+-SHLINSTALLFLAGS+= -S
+-.endif
+-
+ _INSTALLFLAGS:= ${INSTALLFLAGS}
+ .for ie in ${INSTALLFLAGS_EDIT}
+ _INSTALLFLAGS:= ${_INSTALLFLAGS${ie}}
+diff --git a/share/mk/bsd.prog.mk b/share/mk/bsd.prog.mk
+index 19ad99f..46c4b09 100644
+--- a/share/mk/bsd.prog.mk
++++ b/share/mk/bsd.prog.mk
+@@ -179,13 +179,6 @@ _EXTRADEPEND:
+
+ .if !target(install)
+
+-.if defined(PRECIOUSPROG)
+-.if !defined(NO_FSCHG)
+-INSTALLFLAGS+= -fschg
+-.endif
+-INSTALLFLAGS+= -S
+-.endif
+-
+ _INSTALLFLAGS:= ${INSTALLFLAGS}
+ .for ie in ${INSTALLFLAGS_EDIT}
+ _INSTALLFLAGS:= ${_INSTALLFLAGS${ie}}
diff --git a/sys-freebsd/freebsd-mk-defs/files/freebsd-mk-defs-10.3-gentoo.patch b/sys-freebsd/freebsd-mk-defs/files/freebsd-mk-defs-10.3-gentoo.patch
new file mode 100644
index 000000000000..cdc244d6e059
--- /dev/null
+++ b/sys-freebsd/freebsd-mk-defs/files/freebsd-mk-defs-10.3-gentoo.patch
@@ -0,0 +1,337 @@
+diff --git a/share/mk/bsd.doc.mk b/share/mk/bsd.doc.mk
+index a8aa595..476b33b 100644
+--- a/share/mk/bsd.doc.mk
++++ b/share/mk/bsd.doc.mk
+@@ -135,10 +135,12 @@ CLEANFILES+= ${DOC}.ascii ${DOC}.ascii${DCOMPRESS_EXT} \
+ realinstall:
+ .if ${PRINTERDEVICE:Mhtml}
+ cd ${SRCDIR}; \
++ ${INSTALL} -d ${DESTDIR}${BINDIR}/${VOLUME}; \
+ ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} \
+ ${DOC}*.html ${DESTDIR}${BINDIR}/${VOLUME}
+ .endif
+ .for _dev in ${PRINTERDEVICE:Nhtml}
++ ${INSTALL} -d ${DESTDIR}${BINDIR}/${VOLUME}; \
+ ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} \
+ ${DFILE.${_dev}} ${DESTDIR}${BINDIR}/${VOLUME}
+ .endfor
+diff --git a/share/mk/bsd.files.mk b/share/mk/bsd.files.mk
+index 183cb1c..5b57594 100644
+--- a/share/mk/bsd.files.mk
++++ b/share/mk/bsd.files.mk
+@@ -40,6 +40,7 @@ ${group}NAME_${file:T}?= ${file:T}
+ .endif
+ installfiles-${group}: _${group}INS_${file:T}
+ _${group}INS_${file:T}: ${file}
++ ${INSTALL} -d ${DESTDIR}${${group}DIR_${.ALLSRC:T}}
+ ${INSTALL} -o ${${group}OWN_${.ALLSRC:T}} \
+ -g ${${group}GRP_${.ALLSRC:T}} -m ${${group}MODE_${.ALLSRC:T}} \
+ ${.ALLSRC} \
+@@ -52,10 +53,12 @@ _${group}FILES+= ${file}
+ installfiles-${group}: _${group}INS
+ _${group}INS: ${_${group}FILES}
+ .if defined(${group}NAME)
++ ${INSTALL} -d ${DESTDIR}${${group}DIR}/${${group}NAME}
+ ${INSTALL} -o ${${group}OWN} -g ${${group}GRP} \
+ -m ${${group}MODE} ${.ALLSRC} \
+ ${DESTDIR}${${group}DIR}/${${group}NAME}
+ .else
++ ${INSTALL} -d ${DESTDIR}${${group}DIR}
+ ${INSTALL} -o ${${group}OWN} -g ${${group}GRP} \
+ -m ${${group}MODE} ${.ALLSRC} ${DESTDIR}${${group}DIR}
+ .endif
+diff --git a/share/mk/bsd.incs.mk b/share/mk/bsd.incs.mk
+index b938221..6b98e72 100644
+--- a/share/mk/bsd.incs.mk
++++ b/share/mk/bsd.incs.mk
+@@ -41,6 +41,9 @@ ${group}NAME_${header:T}?= ${header:T}
+ .endif
+ installincludes: _${group}INS_${header:T}
+ _${group}INS_${header:T}: ${header}
++ ${INSTALL} -d -o ${${group}OWN_${.ALLSRC:T}} \
++ -g ${${group}GRP_${.ALLSRC:T}} \
++ ${DESTDIR}${${group}DIR_${.ALLSRC:T}}
+ ${INSTALL} -C -o ${${group}OWN_${.ALLSRC:T}} \
+ -g ${${group}GRP_${.ALLSRC:T}} -m ${${group}MODE_${.ALLSRC:T}} \
+ ${.ALLSRC} \
+@@ -53,9 +56,13 @@ _${group}INCS+= ${header}
+ installincludes: _${group}INS
+ _${group}INS: ${_${group}INCS}
+ .if defined(${group}NAME)
++ ${INSTALL} -d -o ${${group}OWN} -g ${${group}GRP} \
++ ${DESTDIR}${${group}DIR}
+ ${INSTALL} -C -o ${${group}OWN} -g ${${group}GRP} -m ${${group}MODE} \
+ ${.ALLSRC} ${DESTDIR}${${group}DIR}/${${group}NAME}
+ .else
++ ${INSTALL} -d -o ${${group}OWN} -g ${${group}GRP} \
++ ${DESTDIR}${${group}DIR}
+ ${INSTALL} -C -o ${${group}OWN} -g ${${group}GRP} -m ${${group}MODE} \
+ ${.ALLSRC} ${DESTDIR}${${group}DIR}
+ .endif
+diff --git a/share/mk/bsd.info.mk b/share/mk/bsd.info.mk
+index 6275ce3..8d32289 100644
+--- a/share/mk/bsd.info.mk
++++ b/share/mk/bsd.info.mk
+@@ -83,6 +83,7 @@ INFO2HTML?= info2html
+ TEX?= tex
+ DVIPS?= dvips
+ DVIPS2ASCII?= dvips2ascii
++INSTALL?= install
+
+ .SUFFIXES: ${ICOMPRESS_EXT} .info .texi .texinfo .dvi .ps .latin1 .html
+
+@@ -144,15 +145,17 @@ ${x:S/$/${ICOMPRESS_EXT}/}: ${x}
+ INSTALLINFODIRS+= ${x:S/$/-install/}
+ ${x:S/$/-install/}:
+ .if !empty(.MAKEFLAGS:M-j)
++ ${INSTALL} -d ${DESTDIR}${INFODIR}
+ lockf -k ${DESTDIR}${INFODIR}/${INFODIRFILE} \
+ ${INSTALLINFO} ${INSTALLINFOFLAGS} \
+- --defsection=${INFOSECTION} \
+- --defentry=${INFOENTRY_${x}} \
++ --section=${INFOSECTION} \
++ --entry=${INFOENTRY_${x}} \
+ ${x}.info ${DESTDIR}${INFODIR}/${INFODIRFILE}
+ .else
++ ${INSTALL} -d ${DESTDIR}${INFODIR}
+ ${INSTALLINFO} ${INSTALLINFOFLAGS} \
+- --defsection=${INFOSECTION} \
+- --defentry=${INFOENTRY_${x}} \
++ --section=${INFOSECTION} \
++ --entry=${INFOENTRY_${x}} \
+ ${x}.info ${DESTDIR}${INFODIR}/${INFODIRFILE}
+ .endif
+ .endfor
+diff --git a/share/mk/bsd.lib.mk b/share/mk/bsd.lib.mk
+index c753afe..14f74aa 100644
+--- a/share/mk/bsd.lib.mk
++++ b/share/mk/bsd.lib.mk
+@@ -46,8 +46,6 @@ CFLAGS+= ${DEBUG_FLAGS}
+ .if ${MK_CTF} != "no" && ${DEBUG_FLAGS:M-g} != ""
+ CTFFLAGS+= -g
+ .endif
+-.else
+-STRIP?= -s
+ .endif
+
+ .if ${MK_DEBUG_FILES} != "no" && empty(DEBUG_FLAGS:M-g) && \
+@@ -296,14 +294,17 @@ realinstall: _libinstall
+ .ORDER: beforeinstall _libinstall
+ _libinstall:
+ .if defined(LIB) && !empty(LIB) && ${MK_INSTALLLIB} != "no"
++ ${INSTALL} -d ${DESTDIR}${_LIBDIR}
+ ${INSTALL} -C -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
+ ${_INSTALLFLAGS} lib${LIB}.a ${DESTDIR}${_LIBDIR}
+ .endif
+ .if ${MK_PROFILE} != "no" && defined(LIB) && !empty(LIB)
++ ${INSTALL} -d ${DESTDIR}${_LIBDIR}
+ ${INSTALL} -C -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
+ ${_INSTALLFLAGS} lib${LIB}_p.a ${DESTDIR}${_LIBDIR}
+ .endif
+ .if defined(SHLIB_NAME)
++ ${INSTALL} -d ${DESTDIR}${_SHLIBDIR}
+ ${INSTALL} ${STRIP} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
+ ${_INSTALLFLAGS} ${_SHLINSTALLFLAGS} \
+ ${SHLIB_NAME} ${DESTDIR}${_SHLIBDIR}
+@@ -357,10 +358,12 @@ _libinstall:
+ .endif # SHLIB_LINK
+ .endif # SHIB_NAME
+ .if defined(INSTALL_PIC_ARCHIVE) && defined(LIB) && !empty(LIB) && ${MK_TOOLCHAIN} != "no"
++ ${INSTALL} -d ${DESTDIR}${_LIBDIR}
+ ${INSTALL} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
+ ${_INSTALLFLAGS} lib${LIB}_pic.a ${DESTDIR}${_LIBDIR}
+ .endif
+ .if defined(WANT_LINT) && !defined(NO_LINT) && defined(LIB) && !empty(LIB)
++ ${INSTALL} -d ${DESTDIR}${LINTLIBDIR}
+ ${INSTALL} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
+ ${_INSTALLFLAGS} ${LINTLIB} ${DESTDIR}${LINTLIBDIR}
+ .endif
+diff --git a/share/mk/bsd.libnames.mk b/share/mk/bsd.libnames.mk
+index c097c77..c2994d8 100644
+--- a/share/mk/bsd.libnames.mk
++++ b/share/mk/bsd.libnames.mk
+@@ -51,7 +51,7 @@ LIBELF?= ${DESTDIR}${LIBDIR}/libelf.a
+ LIBEXECINFO?= ${DESTDIR}${LIBDIR}/libexecinfo.a
+ LIBFETCH?= ${DESTDIR}${LIBDIR}/libfetch.a
+ LIBFIGPAR?= ${DESTDIR}${LIBDIR}/libfigpar.a
+-LIBFL?= "don't use LIBFL, use LIBL"
++LIBFL?= ${DESTDIR}${LIBDIR}/libfl.a
+ LIBFORM?= ${DESTDIR}${LIBDIR}/libform.a
+ LIBG2C?= ${DESTDIR}${LIBDIR}/libg2c.a
+ LIBGCC?= ${DESTDIR}${LIBDIR}/libgcc.a
+@@ -81,7 +81,7 @@ LIBKEYCAP?= ${DESTDIR}${LIBDIR}/libkeycap.a
+ LIBKICONV?= ${DESTDIR}${LIBDIR}/libkiconv.a
+ LIBKRB5?= ${DESTDIR}${LIBDIR}/libkrb5.a
+ LIBKVM?= ${DESTDIR}${LIBDIR}/libkvm.a
+-LIBL?= ${DESTDIR}${LIBDIR}/libl.a
++LIBL?= ${DESTDIR}${LIBDIR}/libfl.a
+ .if ${MK_LDNS} != "no"
+ LIBLDNS?= ${DESTDIR}${LIBPRIVATEDIR}/libldns.a
+ .endif
+diff --git a/share/mk/bsd.links.mk b/share/mk/bsd.links.mk
+index 574f0f5..b63b117 100644
+--- a/share/mk/bsd.links.mk
++++ b/share/mk/bsd.links.mk
+@@ -15,6 +15,8 @@ _installlinks:
+ t=${DESTDIR}$$1; \
+ shift; \
+ ${ECHO} $$t -\> $$l; \
++ d=`dirname $$t`; \
++ test -d $$d || mkdir $$d; \
+ ${INSTALL_LINK} $$l $$t; \
+ done; true
+ .endif
+@@ -26,6 +28,8 @@ _installlinks:
+ t=${DESTDIR}$$1; \
+ shift; \
+ ${ECHO} $$t -\> $$l; \
++ d=`dirname $$t`; \
++ test -d $$d || mkdir $$d; \
+ ${INSTALL_SYMLINK} $$l $$t; \
+ done; true
+ .endif
+diff --git a/share/mk/bsd.man.mk b/share/mk/bsd.man.mk
+index 0212d3a..6435936 100644
+--- a/share/mk/bsd.man.mk
++++ b/share/mk/bsd.man.mk
+@@ -165,9 +165,11 @@ _maninstall: ${MAN}
+ .if defined(NO_MANCOMPRESS)
+ .if defined(MANFILTER)
+ .for __page in ${MAN}
++ ${INSTALL} -d ${DESTDIR}${MANDIR}${page:E}${MANSUBDIR}/${page}
+ ${MINSTALL} ${__page:T:S/$/${FILTEXTENSION}/g} \
+ ${DESTDIR}${MANDIR}${__page:E}${MANSUBDIR}/${__page}
+ .if defined(MANBUILDCAT) && !empty(MANBUILDCAT)
++ ${INSTALL} -d ${DESTDIR}${CATDIR}${page:E}${MANSUBDIR}/${page}
+ ${MINSTALL} ${__page:T:S/$/${CATEXT}${FILTEXTENSION}/g} \
+ ${DESTDIR}${CATDIR}${__page:E}${MANSUBDIR}/${__page}
+ .endif
+@@ -181,11 +183,14 @@ _maninstall: ${MAN}
+ esac; \
+ page=$$1; shift; sect=$$1; shift; \
+ d=${DESTDIR}${MANDIR}$${sect}${MANSUBDIR}; \
++ ${ECHO} ${INSTALL} -d $${d}; \
++ ${INSTALL} -d $${d}; \
+ ${ECHO} ${MINSTALL} $${page} $${d}; \
+ ${MINSTALL} $${page} $${d}; \
+ done
+ .if defined(MANBUILDCAT) && !empty(MANBUILDCAT)
+ .for __page in ${MAN}
++ ${INSTALL} -d ${DESTDIR}${CATDIR}${page:E}${MANSUBDIR}/${page:T}
+ ${MINSTALL} ${__page:T:S/$/${CATEXT}/} \
+ ${DESTDIR}${CATDIR}${__page:E}${MANSUBDIR}/${__page:T}
+ .endfor
+@@ -193,9 +198,11 @@ _maninstall: ${MAN}
+ .endif
+ .else
+ .for __page in ${MAN}
++ ${INSTALL} -d ${DESTDIR}${MANDIR}${page:E}${MANSUBDIR}
+ ${MINSTALL} ${__page:T:S/$/${MCOMPRESS_EXT}/g} \
+ ${DESTDIR}${MANDIR}${__page:E}${MANSUBDIR}
+ .if defined(MANBUILDCAT) && !empty(MANBUILDCAT)
++ ${INSTALL} -d ${DESTDIR}${CATDIR}${page:E}${MANSUBDIR}/${page:T:S/$/${MCOMPRESS_EXT}
+ ${MINSTALL} ${__page:T:S/$/${CATEXT}${MCOMPRESS_EXT}/g} \
+ ${DESTDIR}${CATDIR}${__page:E}${MANSUBDIR}/${__page:T:S/$/${MCOMPRESS_EXT}/}
+ .endif
+diff --git a/share/mk/bsd.nls.mk b/share/mk/bsd.nls.mk
+index 28255ea..2bc6546 100644
+--- a/share/mk/bsd.nls.mk
++++ b/share/mk/bsd.nls.mk
+@@ -62,7 +62,8 @@ NLSDIR?= ${SHAREDIR}/nls
+ # installation rules
+ #
+ .for file in ${NLS}
+-NLSNAME_${file:T}= ${file:T:R}/${NLSNAME}.cat
++NLSDIR_${file:T}= ${SHAREDIR}/nls/${file:T:R}/
++NLSNAME_${file:T}= ${NLSNAME}.cat
+ .if defined(NLSLINKS_${file:R}) && !empty(NLSLINKS_${file:R})
+ NLSLINKS+= ${file:R}
+ .endif
+diff --git a/share/mk/bsd.own.mk b/share/mk/bsd.own.mk
+index 73de02d..c6c30ca 100644
+--- a/share/mk/bsd.own.mk
++++ b/share/mk/bsd.own.mk
+@@ -206,9 +206,6 @@ INSTALL_LINK?= ${INSTALL} ${HRDLINK}
+ INSTALL_SYMLINK?= ${INSTALL} ${SYMLINK}
+
+ # Common variables
+-.if !defined(DEBUG_FLAGS)
+-STRIP?= -s
+-.endif
+
+ COMPRESS_CMD?= gzip -cn
+ COMPRESS_EXT?= .gz
+diff --git a/share/mk/bsd.prog.mk b/share/mk/bsd.prog.mk
+index d6d0fa5..93a9046 100644
+--- a/share/mk/bsd.prog.mk
++++ b/share/mk/bsd.prog.mk
+@@ -42,10 +42,6 @@ CTFFLAGS+= -g
+ .endif
+ .endif
+
+-.if !defined(DEBUG_FLAGS)
+-STRIP?= -s
+-.endif
+-
+ .if defined(NO_SHARED) && (${NO_SHARED} != "no" && ${NO_SHARED} != "NO")
+ LDFLAGS+= -static
+ .endif
+@@ -200,6 +196,7 @@ realinstall: _proginstall
+ .ORDER: beforeinstall _proginstall
+ _proginstall:
+ .if defined(PROG)
++ ${INSTALL} -d ${DESTDIR}${BINDIR}
+ ${INSTALL} ${STRIP} -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} \
+ ${_INSTALLFLAGS} ${PROG} ${DESTDIR}${BINDIR}/${PROGNAME}
+ .if ${MK_DEBUG_FILES} != "no"
+@@ -233,6 +230,7 @@ SCRIPTSGRP_${script:T}?= ${SCRIPTSGRP}
+ SCRIPTSMODE_${script:T}?= ${SCRIPTSMODE}
+ _scriptsinstall: _SCRIPTSINS_${script:T}
+ _SCRIPTSINS_${script:T}: ${script}
++ ${INSTALL} -d ${DESTDIR}${SCRIPTSDIR_${.ALLSRC:T}}
+ ${INSTALL} -o ${SCRIPTSOWN_${.ALLSRC:T}} \
+ -g ${SCRIPTSGRP_${.ALLSRC:T}} -m ${SCRIPTSMODE_${.ALLSRC:T}} \
+ ${.ALLSRC} \
+diff --git a/share/mk/bsd.sys.mk b/share/mk/bsd.sys.mk
+index fee6ccc..c2fe39a 100644
+--- a/share/mk/bsd.sys.mk
++++ b/share/mk/bsd.sys.mk
+@@ -30,10 +30,6 @@ CFLAGS+= -std=${CSTD}
+ .if defined(WARNS)
+ .if ${WARNS} >= 1
+ CWARNFLAGS+= -Wsystem-headers
+-.if !defined(NO_WERROR) && (${COMPILER_TYPE} != "clang" \
+- || !defined(NO_WERROR.clang))
+-CWARNFLAGS+= -Werror
+-.endif # !NO_WERROR && (!CLANG || !NO_WERROR.clang)
+ .endif # WARNS >= 1
+ .if ${WARNS} >= 2
+ CWARNFLAGS+= -Wall -Wno-format-y2k
+@@ -102,10 +98,6 @@ CWARNFLAGS+= -Wformat=2 -Wno-format-extra-args
+ CWARNFLAGS+= -Wno-format-nonliteral
+ .endif # WARNS <= 3
+ .endif # CLANG
+-.if !defined(NO_WERROR) && (${COMPILER_TYPE} != "clang" \
+- || !defined(NO_WERROR.clang))
+-CWARNFLAGS+= -Werror
+-.endif # !NO_WERROR && (!CLANG || !NO_WERROR.clang)
+ .endif # WFORMAT > 0
+ .endif # WFORMAT
+ .if defined(NO_WFORMAT) || (${COMPILER_TYPE} == "clang" && defined(NO_WFORMAT.clang))
+diff --git a/share/mk/sys.mk b/share/mk/sys.mk
+index c270260..68491ce 100644
+--- a/share/mk/sys.mk
++++ b/share/mk/sys.mk
+@@ -327,12 +327,6 @@ YFLAGS ?= -d
+ rm -f ${.PREFIX}.tmp.c
+ ${CTFCONVERT_CMD}
+
+-# FreeBSD build pollution. Hide it in the non-POSIX part of the ifdef.
+-__MAKE_CONF?=/etc/make.conf
+-.if exists(${__MAKE_CONF})
+-.include "${__MAKE_CONF}"
+-.endif
+-
+ .if defined(__MAKE_SHELL) && !empty(__MAKE_SHELL)
+ SHELL= ${__MAKE_SHELL}
+ .SHELL: path=${__MAKE_SHELL}
diff --git a/sys-freebsd/freebsd-mk-defs/files/freebsd-mk-defs-11.0-drop-unsupport-cflags.patch b/sys-freebsd/freebsd-mk-defs/files/freebsd-mk-defs-11.0-drop-unsupport-cflags.patch
new file mode 100644
index 000000000000..d12bbbe552fd
--- /dev/null
+++ b/sys-freebsd/freebsd-mk-defs/files/freebsd-mk-defs-11.0-drop-unsupport-cflags.patch
@@ -0,0 +1,13 @@
+diff --git a/share/mk/bsd.sys.mk b/share/mk/bsd.sys.mk
+index 37c4d01..e840a25 100644
+--- a/share/mk/bsd.sys.mk
++++ b/share/mk/bsd.sys.mk
+@@ -112,7 +112,7 @@ CWARNFLAGS+= -Wno-error=unused-function -Wno-error=enum-compare -Wno-error=logic
+ .if ${COMPILER_TYPE} == "clang" && ${COMPILER_VERSION} >= 30600
+ FORMAT_EXTENSIONS= -D__printf__=__freebsd_kprintf__
+ .else
+-FORMAT_EXTENSIONS= -fformat-extensions
++FORMAT_EXTENSIONS=
+ .endif
+
+ .if defined(IGNORE_PRAGMA)
diff --git a/sys-freebsd/freebsd-mk-defs/files/freebsd-mk-defs-11.0-gentoo.patch b/sys-freebsd/freebsd-mk-defs/files/freebsd-mk-defs-11.0-gentoo.patch
new file mode 100644
index 000000000000..e87bdbacd58b
--- /dev/null
+++ b/sys-freebsd/freebsd-mk-defs/files/freebsd-mk-defs-11.0-gentoo.patch
@@ -0,0 +1,343 @@
+diff --git a/share/mk/bsd.doc.mk b/share/mk/bsd.doc.mk
+index 9f4ea2c..0f666bf 100644
+--- a/share/mk/bsd.doc.mk
++++ b/share/mk/bsd.doc.mk
+@@ -144,10 +144,12 @@ CLEANFILES+= ${DOC}.ascii ${DOC}.ascii${DCOMPRESS_EXT} \
+ realinstall:
+ .if ${PRINTERDEVICE:Mhtml}
+ cd ${SRCDIR}; \
++ ${INSTALL} -d ${DESTDIR}${BINDIR}/${VOLUME}; \
+ ${INSTALL} ${TAG_ARGS:D${TAG_ARGS},docs} -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} \
+ ${DOC}*.html ${DESTDIR}${BINDIR}/${VOLUME}/
+ .endif
+ .for _dev in ${PRINTERDEVICE:Nhtml}
++ ${INSTALL} -d ${DESTDIR}${BINDIR}/${VOLUME}; \
+ ${INSTALL} ${TAG_ARGS:D${TAG_ARGS},docs} -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} \
+ ${DFILE.${_dev}} ${DESTDIR}${BINDIR}/${VOLUME}/
+ .endfor
+diff --git a/share/mk/bsd.files.mk b/share/mk/bsd.files.mk
+index bc123e1..4707b84 100644
+--- a/share/mk/bsd.files.mk
++++ b/share/mk/bsd.files.mk
+@@ -63,6 +63,7 @@ stage_as.${file:T}: ${file}
+
+ installfiles-${group}: _${group}INS_${file:T}
+ _${group}INS_${file:T}: ${file}
++ ${INSTALL} -d ${DESTDIR}${${group}DIR_${.ALLSRC:T}}
+ ${INSTALL} ${${group}TAG_ARGS} -o ${${group}OWN_${.ALLSRC:T}} \
+ -g ${${group}GRP_${.ALLSRC:T}} -m ${${group}MODE_${.ALLSRC:T}} \
+ ${.ALLSRC} \
+@@ -77,10 +78,12 @@ stage_files.${group}: ${_${group}FILES}
+ installfiles-${group}: _${group}INS
+ _${group}INS: ${_${group}FILES}
+ .if defined(${group}NAME)
++ ${INSTALL} -d ${DESTDIR}${${group}DIR}/${${group}NAME}
+ ${INSTALL} ${${group}TAG_ARGS} -o ${${group}OWN} -g ${${group}GRP} \
+ -m ${${group}MODE} ${.ALLSRC} \
+ ${DESTDIR}${${group}DIR}/${${group}NAME}
+ .else
++ ${INSTALL} -d ${DESTDIR}${${group}DIR}
+ ${INSTALL} ${${group}TAG_ARGS} -o ${${group}OWN} -g ${${group}GRP} \
+ -m ${${group}MODE} ${.ALLSRC} ${DESTDIR}${${group}DIR}/
+ .endif
+diff --git a/share/mk/bsd.incs.mk b/share/mk/bsd.incs.mk
+index 9636e8c..fc2751a 100644
+--- a/share/mk/bsd.incs.mk
++++ b/share/mk/bsd.incs.mk
+@@ -62,6 +62,9 @@ stage_includes: stage_as.${header:T}
+
+ installincludes: _${group}INS_${header:T}
+ _${group}INS_${header:T}: ${header}
++ ${INSTALL} -d -o ${${group}OWN_${.ALLSRC:T}} \
++ -g ${${group}GRP_${.ALLSRC:T}} \
++ ${DESTDIR}${${group}DIR_${.ALLSRC:T}}
+ ${INSTALL} -C -o ${${group}OWN_${.ALLSRC:T}} \
+ -g ${${group}GRP_${.ALLSRC:T}} -m ${${group}MODE_${.ALLSRC:T}} \
+ ${.ALLSRC} \
+@@ -77,9 +80,13 @@ stage_includes: stage_files.${group}
+ installincludes: _${group}INS
+ _${group}INS: ${_${group}INCS}
+ .if defined(${group}NAME)
++ ${INSTALL} -d -o ${${group}OWN} -g ${${group}GRP} \
++ ${DESTDIR}${${group}DIR}
+ ${INSTALL} ${TAG_ARGS:D${TAG_ARGS},development} -C -o ${${group}OWN} -g ${${group}GRP} -m ${${group}MODE} \
+ ${.ALLSRC} ${DESTDIR}${${group}DIR}/${${group}NAME}
+ .else
++ ${INSTALL} -d -o ${${group}OWN} -g ${${group}GRP} \
++ ${DESTDIR}${${group}DIR}
+ ${INSTALL} ${TAG_ARGS:D${TAG_ARGS},development} -C -o ${${group}OWN} -g ${${group}GRP} -m ${${group}MODE} \
+ ${.ALLSRC} ${DESTDIR}${${group}DIR}/
+ .endif
+diff --git a/share/mk/bsd.info.mk b/share/mk/bsd.info.mk
+index 0544662..1a7aad7 100644
+--- a/share/mk/bsd.info.mk
++++ b/share/mk/bsd.info.mk
+@@ -83,6 +83,7 @@ INFO2HTML?= info2html
+ TEX?= tex
+ DVIPS?= dvips
+ DVIPS2ASCII?= dvips2ascii
++INSTALL?= install
+
+ .SUFFIXES: ${ICOMPRESS_EXT} .info .texi .texinfo .dvi .ps .latin1 .html
+
+@@ -141,15 +142,17 @@ ${x:S/$/${ICOMPRESS_EXT}/}: ${x}
+ INSTALLINFODIRS+= ${x:S/$/-install/}
+ ${x:S/$/-install/}:
+ .if !empty(.MAKEFLAGS:M-j)
++ ${INSTALL} -d ${DESTDIR}${INFODIR}
+ lockf -k ${DESTDIR}${INFODIR}/${INFODIRFILE} \
+ ${INSTALLINFO} ${INSTALLINFOFLAGS} \
+- --defsection=${INFOSECTION} \
+- --defentry=${INFOENTRY_${x}} \
++ --section=${INFOSECTION} \
++ --entry=${INFOENTRY_${x}} \
+ ${x}.info ${DESTDIR}${INFODIR}/${INFODIRFILE}
+ .else
++ ${INSTALL} -d ${DESTDIR}${INFODIR}
+ ${INSTALLINFO} ${INSTALLINFOFLAGS} \
+- --defsection=${INFOSECTION} \
+- --defentry=${INFOENTRY_${x}} \
++ --section=${INFOSECTION} \
++ --entry=${INFOENTRY_${x}} \
+ ${x}.info ${DESTDIR}${INFODIR}/${INFODIRFILE}
+ .endif
+ .endfor
+diff --git a/share/mk/bsd.lib.mk b/share/mk/bsd.lib.mk
+index bd93e57..92df111 100644
+--- a/share/mk/bsd.lib.mk
++++ b/share/mk/bsd.lib.mk
+@@ -52,8 +52,6 @@ CFLAGS+= ${DEBUG_FLAGS}
+ .if ${MK_CTF} != "no" && ${DEBUG_FLAGS:M-g} != ""
+ CTFFLAGS+= -g
+ .endif
+-.else
+-STRIP?= -s
+ .endif
+
+ .if ${SHLIBDIR:M*lib32*}
+@@ -335,14 +333,17 @@ realinstall: _libinstall
+ .ORDER: beforeinstall _libinstall
+ _libinstall:
+ .if defined(LIB) && !empty(LIB) && ${MK_INSTALLLIB} != "no"
++ ${INSTALL} -d ${DESTDIR}${_LIBDIR}
+ ${INSTALL} ${TAG_ARGS:D${TAG_ARGS},development} -C -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
+ ${_INSTALLFLAGS} lib${LIB_PRIVATE}${LIB}.a ${DESTDIR}${_LIBDIR}/
+ .endif
+ .if ${MK_PROFILE} != "no" && defined(LIB) && !empty(LIB)
++ ${INSTALL} -d ${DESTDIR}${_LIBDIR}
+ ${INSTALL} ${TAG_ARGS:D${TAG_ARGS},profile} -C -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
+ ${_INSTALLFLAGS} lib${LIB_PRIVATE}${LIB}_p.a ${DESTDIR}${_LIBDIR}/
+ .endif
+ .if defined(SHLIB_NAME)
++ ${INSTALL} -d ${DESTDIR}${_SHLIBDIR}
+ ${INSTALL} ${TAG_ARGS} ${STRIP} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
+ ${_INSTALLFLAGS} ${_SHLINSTALLFLAGS} \
+ ${SHLIB_NAME} ${DESTDIR}${_SHLIBDIR}/
+@@ -387,10 +388,12 @@ _libinstall:
+ .endif # SHLIB_LINK
+ .endif # SHIB_NAME
+ .if defined(INSTALL_PIC_ARCHIVE) && defined(LIB) && !empty(LIB) && ${MK_TOOLCHAIN} != "no"
++ ${INSTALL} -d ${DESTDIR}${_LIBDIR}
+ ${INSTALL} ${TAG_ARGS:D${TAG_ARGS},development} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
+ ${_INSTALLFLAGS} lib${LIB}_pic.a ${DESTDIR}${_LIBDIR}/
+ .endif
+ .if defined(WANT_LINT) && !defined(NO_LINT) && defined(LIB) && !empty(LIB)
++ ${INSTALL} -d ${DESTDIR}${LINTLIBDIR}
+ ${INSTALL} ${TAG_ARGS:D${TAG_ARGS},development} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
+ ${_INSTALLFLAGS} ${LINTLIB} ${DESTDIR}${LINTLIBDIR}/
+ .endif
+diff --git a/share/mk/bsd.libnames.mk b/share/mk/bsd.libnames.mk
+index 0844ae2..caec715 100644
+--- a/share/mk/bsd.libnames.mk
++++ b/share/mk/bsd.libnames.mk
+@@ -63,7 +63,7 @@ LIBELF?= ${DESTDIR}${LIBDIR}/libelf.a
+ LIBEXECINFO?= ${DESTDIR}${LIBDIR}/libexecinfo.a
+ LIBFETCH?= ${DESTDIR}${LIBDIR}/libfetch.a
+ LIBFIGPAR?= ${DESTDIR}${LIBDIR}/libfigpar.a
+-LIBFL?= "don't use LIBFL, use LIBL"
++LIBFL?= ${DESTDIR}${LIBDIR}/libfl.a
+ LIBFORM?= ${DESTDIR}${LIBDIR}/libform.a
+ LIBG2C?= ${DESTDIR}${LIBDIR}/libg2c.a
+ LIBGEOM?= ${DESTDIR}${LIBDIR}/libgeom.a
+@@ -92,7 +92,7 @@ LIBKEYCAP?= ${DESTDIR}${LIBDIR}/libkeycap.a
+ LIBKICONV?= ${DESTDIR}${LIBDIR}/libkiconv.a
+ LIBKRB5?= ${DESTDIR}${LIBDIR}/libkrb5.a
+ LIBKVM?= ${DESTDIR}${LIBDIR}/libkvm.a
+-LIBL?= ${DESTDIR}${LIBDIR}/libl.a
++LIBL?= ${DESTDIR}${LIBDIR}/libfl.a
+ LIBLN?= "don't use LIBLN, use LIBL"
+ LIBLZMA?= ${DESTDIR}${LIBDIR}/liblzma.a
+ LIBM?= ${DESTDIR}${LIBDIR}/libm.a
+diff --git a/share/mk/bsd.links.mk b/share/mk/bsd.links.mk
+index 0c7d063..f5d1779 100644
+--- a/share/mk/bsd.links.mk
++++ b/share/mk/bsd.links.mk
+@@ -16,9 +16,11 @@ afterinstall: _installlinks
+ _installlinks:
+ .for s t in ${LINKS}
+ @${ECHO} "${t} -> ${s}" ;\
++ test -d ${DESTDIR}/`dirname ${t}` || mkdir ${DESTDIR}/`dirname ${t}`;\
+ ${INSTALL_LINK} ${TAG_ARGS} ${DESTDIR}${s} ${DESTDIR}${t}
+ .endfor
+ .for s t in ${SYMLINKS}
+ @${ECHO} "${t} -> ${s}" ;\
++ test -d ${DESTDIR}/`dirname ${t}` || mkdir ${DESTDIR}/`dirname ${t}`;\
+ ${INSTALL_SYMLINK} ${TAG_ARGS} ${s} ${DESTDIR}/${t}
+ .endfor
+diff --git a/share/mk/bsd.man.mk b/share/mk/bsd.man.mk
+index 6f78501..bc9a1a6 100644
+--- a/share/mk/bsd.man.mk
++++ b/share/mk/bsd.man.mk
+@@ -188,9 +188,11 @@ maninstall: ${MAN}
+ .if ${MK_MANCOMPRESS} == "no"
+ .if defined(MANFILTER)
+ .for __page in ${MAN}
++ ${INSTALL} -d ${DESTDIR}${MANDIR}${__page:E}${MANSUBDIR}/${__page}
+ ${MINSTALL} ${__page:T:S/$/${FILTEXTENSION}/g} \
+ ${DESTDIR}${MANDIR}${__page:E}${MANSUBDIR}/${__page}
+ .if defined(MANBUILDCAT) && !empty(MANBUILDCAT)
++ ${INSTALL} -d ${DESTDIR}${CATDIR}${__page:E}${MANSUBDIR}/${__page}
+ ${MINSTALL} ${__page:T:S/$/${CATEXT}${FILTEXTENSION}/g} \
+ ${DESTDIR}${CATDIR}${__page:E}${MANSUBDIR}/${__page}
+ .endif
+@@ -204,11 +206,14 @@ maninstall: ${MAN}
+ esac; \
+ page=$$1; shift; sect=$$1; shift; \
+ d=${DESTDIR}${MANDIR}$${sect}${MANSUBDIR}; \
++ ${ECHO} ${INSTALL} -d $${d}; \
++ ${INSTALL} -d $${d}; \
+ ${ECHO} ${MINSTALL} $${page} $${d}; \
+ ${MINSTALL} $${page} $${d}; \
+ done
+ .if defined(MANBUILDCAT) && !empty(MANBUILDCAT)
+ .for __page in ${MAN}
++ ${INSTALL} -d ${DESTDIR}${CATDIR}${__page:E}${MANSUBDIR}/${__page:T}
+ ${MINSTALL} ${__page:T:S/$/${CATEXT}/} \
+ ${DESTDIR}${CATDIR}${__page:E}${MANSUBDIR}/${__page:T}
+ .endfor
+@@ -216,9 +221,11 @@ maninstall: ${MAN}
+ .endif # defined(MANFILTER)
+ .else # ${MK_MANCOMPRESS} == "yes"
+ .for __page in ${MAN}
++ ${INSTALL} -d ${DESTDIR}${MANDIR}${__page:E}${MANSUBDIR}
+ ${MINSTALL} ${__page:T:S/$/${MCOMPRESS_EXT}/g} \
+ ${DESTDIR}${MANDIR}${__page:E}${MANSUBDIR}/
+ .if defined(MANBUILDCAT) && !empty(MANBUILDCAT)
++ ${INSTALL} -d ${DESTDIR}${CATDIR}${__page:E}${MANSUBDIR}/${__page:T:S/$/${MCOMPRESS_EXT}
+ ${MINSTALL} ${__page:T:S/$/${CATEXT}${MCOMPRESS_EXT}/g} \
+ ${DESTDIR}${CATDIR}${__page:E}${MANSUBDIR}/${__page:T:S/$/${MCOMPRESS_EXT}/}
+ .endif
+diff --git a/share/mk/bsd.nls.mk b/share/mk/bsd.nls.mk
+index 87a7347..c860c97 100644
+--- a/share/mk/bsd.nls.mk
++++ b/share/mk/bsd.nls.mk
+@@ -71,7 +71,8 @@ STAGE_SYMLINKS_DIR.NLS= ${STAGE_OBJTOP}
+ SYMLINKS+= ${NLSSYMLINKS}
+ .endif
+ .for file in ${NLS}
+-NLSNAME_${file:T}= ${file:T:R}/${NLSNAME}.cat
++NLSDIR_${file:T}= ${SHAREDIR}/nls/${file:T:R}/
++NLSNAME_${file:T}= ${NLSNAME}.cat
+ .if defined(NLSLINKS_${file:R}) && !empty(NLSLINKS_${file:R})
+ .if !empty(NLSLINKS_${file:R}:M${file:R})
+ .error NLSLINKS_${file:R} contains itself: ${file:R}
+diff --git a/share/mk/bsd.own.mk b/share/mk/bsd.own.mk
+index c10e492..5984215 100644
+--- a/share/mk/bsd.own.mk
++++ b/share/mk/bsd.own.mk
+@@ -233,9 +233,6 @@ INSTALL_SYMLINK?= ${INSTALL} ${SYMLINK}
+ INSTALL_RSYMLINK?= ${INSTALL} ${RSYMLINK}
+
+ # Common variables
+-.if !defined(DEBUG_FLAGS)
+-STRIP?= -s
+-.endif
+
+ COMPRESS_CMD?= gzip -cn
+ COMPRESS_EXT?= .gz
+diff --git a/share/mk/bsd.prog.mk b/share/mk/bsd.prog.mk
+index f1a5c65..3b1ecf8 100644
+--- a/share/mk/bsd.prog.mk
++++ b/share/mk/bsd.prog.mk
+@@ -44,10 +44,6 @@ CTFFLAGS+= -g
+ .endif
+ .endif
+
+-.if !defined(DEBUG_FLAGS)
+-STRIP?= -s
+-.endif
+-
+ .if defined(NO_ROOT)
+ .if !defined(TAGS) || ! ${TAGS:Mpackage=*}
+ TAGS+= package=${PACKAGE:Uruntime}
+@@ -217,6 +213,7 @@ realinstall: _proginstall
+ .ORDER: beforeinstall _proginstall
+ _proginstall:
+ .if defined(PROG)
++ ${INSTALL} -d ${DESTDIR}${BINDIR}
+ ${INSTALL} ${TAG_ARGS} ${STRIP} -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} \
+ ${_INSTALLFLAGS} ${PROG} ${DESTDIR}${BINDIR}/${PROGNAME}
+ .if ${MK_DEBUG_FILES} != "no"
+@@ -255,6 +252,7 @@ SCRIPTSMODE_${script:T}?= ${SCRIPTSMODE}
+ STAGE_AS_${script:T}= ${SCRIPTSDIR_${script:T}}/${SCRIPTSNAME_${script:T}}
+ _scriptsinstall: _SCRIPTSINS_${script:T}
+ _SCRIPTSINS_${script:T}: ${script}
++ ${INSTALL} -d ${DESTDIR}${SCRIPTSDIR_${.ALLSRC:T}}
+ ${INSTALL} ${TAG_ARGS} -o ${SCRIPTSOWN_${.ALLSRC:T}} \
+ -g ${SCRIPTSGRP_${.ALLSRC:T}} -m ${SCRIPTSMODE_${.ALLSRC:T}} \
+ ${.ALLSRC} \
+diff --git a/share/mk/bsd.sys.mk b/share/mk/bsd.sys.mk
+index 0ae45c5..37c4d01 100644
+--- a/share/mk/bsd.sys.mk
++++ b/share/mk/bsd.sys.mk
+@@ -29,9 +29,6 @@ CFLAGS+= -std=${CSTD}
+ .if defined(WARNS)
+ .if ${WARNS} >= 1
+ CWARNFLAGS+= -Wsystem-headers
+-.if !defined(NO_WERROR) && !defined(NO_WERROR.${COMPILER_TYPE})
+-CWARNFLAGS+= -Werror
+-.endif # !NO_WERROR && !NO_WERROR.${COMPILER_TYPE}
+ .endif # WARNS >= 1
+ .if ${WARNS} >= 2
+ CWARNFLAGS+= -Wall -Wno-format-y2k
+@@ -100,9 +97,6 @@ CWARNFLAGS+= -Wformat=2 -Wno-format-extra-args
+ .if ${WARNS} <= 3
+ CWARNFLAGS.clang+= -Wno-format-nonliteral
+ .endif # WARNS <= 3
+-.if !defined(NO_WERROR) && !defined(NO_WERROR.${COMPILER_TYPE})
+-CWARNFLAGS+= -Werror
+-.endif # !NO_WERROR && !NO_WERROR.${COMPILER_TYPE}
+ .endif # WFORMAT > 0
+ .endif # WFORMAT
+ .if defined(NO_WFORMAT) || defined(NO_WFORMAT.${COMPILER_TYPE})
+@@ -151,6 +145,13 @@ CFLAGS.clang+= -fno-dwarf2-cfi-asm
+ # but not yet.
+ CXXFLAGS.clang+= -Wno-c++11-extensions
+
++.if ${MK_SSP} == "no"
++# gcc-4.9, -fstack-protector-strong is enabled by default.
++# Add -fno-stack-protector to disable it. Gentoo Bug #511698.
++SSP_CFLAGS?= -fno-stack-protector
++CFLAGS+= ${SSP_CFLAGS}
++.endif
++
+ .if ${MK_SSP} != "no" && \
+ ${MACHINE_CPUARCH} != "arm" && ${MACHINE_CPUARCH} != "mips"
+ .if (${COMPILER_TYPE} == "clang" && ${COMPILER_VERSION} >= 30500) || \
+diff --git a/share/mk/sys.mk b/share/mk/sys.mk
+index 5cfd0bb..25abf8e 100644
+--- a/share/mk/sys.mk
++++ b/share/mk/sys.mk
+@@ -418,12 +418,6 @@ YFLAGS ?= -d
+ rm -f ${.PREFIX}.tmp.c
+ ${CTFCONVERT_CMD}
+
+-# Pull in global settings.
+-__MAKE_CONF?=/etc/make.conf
+-.if exists(${__MAKE_CONF})
+-.include "${__MAKE_CONF}"
+-.endif
+-
+ # late include for customization
+ .sinclude <local.sys.mk>
+
diff --git a/sys-freebsd/freebsd-mk-defs/files/freebsd-mk-defs-11.0-gnu.patch b/sys-freebsd/freebsd-mk-defs/files/freebsd-mk-defs-11.0-gnu.patch
new file mode 100644
index 000000000000..97e882d51aac
--- /dev/null
+++ b/sys-freebsd/freebsd-mk-defs/files/freebsd-mk-defs-11.0-gnu.patch
@@ -0,0 +1,63 @@
+diff --git a/share/mk/bsd.lib.mk b/share/mk/bsd.lib.mk
+index 92df111..88c75d9 100644
+--- a/share/mk/bsd.lib.mk
++++ b/share/mk/bsd.lib.mk
+@@ -184,7 +184,7 @@ _LIBS= lib${LIB_PRIVATE}${LIB}.a
+ lib${LIB_PRIVATE}${LIB}.a: ${OBJS} ${STATICOBJS}
+ @${ECHO} building static ${LIB} library
+ @rm -f ${.TARGET}
+- ${AR} ${ARFLAGS} ${.TARGET} `NM='${NM}' NMFLAGS='${NMFLAGS}' lorder ${OBJS} ${STATICOBJS} | tsort -q` ${ARADD}
++ ${AR} ${ARFLAGS} ${.TARGET} ${OBJS} ${STATICOBJS} ${ARADD}
+ ${RANLIB} ${RANLIBFLAGS} ${.TARGET}
+ .endif
+
+@@ -199,7 +199,7 @@ CLEANFILES+= ${POBJS}
+ lib${LIB_PRIVATE}${LIB}_p.a: ${POBJS}
+ @${ECHO} building profiled ${LIB} library
+ @rm -f ${.TARGET}
+- ${AR} ${ARFLAGS} ${.TARGET} `NM='${NM}' NMFLAGS='${NMFLAGS}' lorder ${POBJS} | tsort -q` ${ARADD}
++ ${AR} ${ARFLAGS} ${.TARGET} {POBJS} ${ARADD}
+ ${RANLIB} ${RANLIBFLAGS} ${.TARGET}
+ .endif
+
+@@ -247,7 +247,7 @@ ${SHLIB_NAME_FULL}: ${SOBJS}
+ .endif
+ ${_LD:N${CCACHE_BIN}} ${LDFLAGS} ${SSP_CFLAGS} ${SOLINKOPTS} \
+ -o ${.TARGET} -Wl,-soname,${SONAME} \
+- `NM='${NM}' NMFLAGS='${NMFLAGS}' lorder ${SOBJS} | tsort -q` ${LDADD}
++ `echo ${SOBJS} | xargs -n 1 echo | sort -u` ${LDADD}
+ .if ${MK_CTF} != "no"
+ ${CTFMERGE} ${CTFFLAGS} -o ${.TARGET} ${SOBJS}
+ .endif
+@@ -312,13 +312,6 @@ _EXTRADEPEND:
+
+ .if !target(install)
+
+-.if defined(PRECIOUSLIB)
+-.if !defined(NO_FSCHG)
+-SHLINSTALLFLAGS+= -fschg
+-.endif
+-SHLINSTALLFLAGS+= -S
+-.endif
+-
+ _INSTALLFLAGS:= ${INSTALLFLAGS}
+ .for ie in ${INSTALLFLAGS_EDIT}
+ _INSTALLFLAGS:= ${_INSTALLFLAGS${ie}}
+diff --git a/share/mk/bsd.prog.mk b/share/mk/bsd.prog.mk
+index 3b1ecf8..26ac9c5 100644
+--- a/share/mk/bsd.prog.mk
++++ b/share/mk/bsd.prog.mk
+@@ -196,13 +196,6 @@ _EXTRADEPEND:
+
+ .if !target(install)
+
+-.if defined(PRECIOUSPROG)
+-.if !defined(NO_FSCHG)
+-INSTALLFLAGS+= -fschg
+-.endif
+-INSTALLFLAGS+= -S
+-.endif
+-
+ _INSTALLFLAGS:= ${INSTALLFLAGS}
+ .for ie in ${INSTALLFLAGS_EDIT}
+ _INSTALLFLAGS:= ${_INSTALLFLAGS${ie}}
diff --git a/sys-freebsd/freebsd-mk-defs/files/freebsd-mk-defs-11.0-libproc-libcxx.patch b/sys-freebsd/freebsd-mk-defs/files/freebsd-mk-defs-11.0-libproc-libcxx.patch
new file mode 100644
index 000000000000..5da025d03f37
--- /dev/null
+++ b/sys-freebsd/freebsd-mk-defs/files/freebsd-mk-defs-11.0-libproc-libcxx.patch
@@ -0,0 +1,13 @@
+diff --git a/share/mk/src.libnames.mk b/share/mk/src.libnames.mk
+index 14489a8..c993f7c 100644
+--- a/share/mk/src.libnames.mk
++++ b/share/mk/src.libnames.mk
+@@ -245,7 +245,7 @@ _DP_radius= crypto
+ .endif
+ _DP_procstat= kvm util elf
+ .if ${MK_CXX} == "yes"
+-.if ${MK_LIBCPLUSPLUS} != "no"
++.if ${COMPILER_TYPE} == "clang"
+ _DP_proc= cxxrt
+ .else
+ _DP_proc= supcplusplus
diff --git a/sys-freebsd/freebsd-mk-defs/files/freebsd-mk-defs-11.0-rename-libs.patch b/sys-freebsd/freebsd-mk-defs/files/freebsd-mk-defs-11.0-rename-libs.patch
new file mode 100644
index 000000000000..fd72f1fe846e
--- /dev/null
+++ b/sys-freebsd/freebsd-mk-defs/files/freebsd-mk-defs-11.0-rename-libs.patch
@@ -0,0 +1,16 @@
+diff --git a/share/mk/src.libnames.mk b/share/mk/src.libnames.mk
+index 249ac52..14489a8 100644
+--- a/share/mk/src.libnames.mk
++++ b/share/mk/src.libnames.mk
+@@ -343,6 +343,11 @@ LIBATF_CXX= ${DESTDIR}${LIBDIR}/libprivateatf-c++.a
+ LDADD_atf_c= -lprivateatf-c
+ LDADD_atf_cxx= -lprivateatf-c++
+
++LDADD_bsdxml= -lexpat
++LDADD_l= -lfl
++LDADD_termcap= -lncurses
++LDADD_termcapw= -lncursesw
++
+ .for _l in ${_PRIVATELIBS}
+ LIB${_l:tu}?= ${DESTDIR}${LIBDIR}/libprivate${_l}.a
+ .endfor
diff --git a/sys-freebsd/freebsd-mk-defs/files/freebsd-mk-defs-11.1-gentoo.patch b/sys-freebsd/freebsd-mk-defs/files/freebsd-mk-defs-11.1-gentoo.patch
new file mode 100644
index 000000000000..051fd899b748
--- /dev/null
+++ b/sys-freebsd/freebsd-mk-defs/files/freebsd-mk-defs-11.1-gentoo.patch
@@ -0,0 +1,343 @@
+diff --git a/share/mk/bsd.doc.mk b/share/mk/bsd.doc.mk
+index 9baa335..8cb61e2 100644
+--- a/share/mk/bsd.doc.mk
++++ b/share/mk/bsd.doc.mk
+@@ -144,10 +144,12 @@ CLEANFILES+= ${DOC}.ascii ${DOC}.ascii${DCOMPRESS_EXT} \
+ realinstall:
+ .if ${PRINTERDEVICE:Mhtml}
+ cd ${SRCDIR}; \
++ ${INSTALL} -d ${DESTDIR}${BINDIR}/${VOLUME}; \
+ ${INSTALL} ${TAG_ARGS:D${TAG_ARGS},docs} -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} \
+ ${DOC}*.html ${DESTDIR}${BINDIR}/${VOLUME}/
+ .endif
+ .for _dev in ${PRINTERDEVICE:Nhtml}
++ ${INSTALL} -d ${DESTDIR}${BINDIR}/${VOLUME}; \
+ ${INSTALL} ${TAG_ARGS:D${TAG_ARGS},docs} -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} \
+ ${DFILE.${_dev}} ${DESTDIR}${BINDIR}/${VOLUME}/
+ .endfor
+diff --git a/share/mk/bsd.files.mk b/share/mk/bsd.files.mk
+index 111a7f1..cde2568 100644
+--- a/share/mk/bsd.files.mk
++++ b/share/mk/bsd.files.mk
+@@ -61,6 +61,7 @@ stage_as.${file:T}: ${file}
+
+ installfiles-${group}: _${group}INS_${file:T}
+ _${group}INS_${file:T}: ${file}
++ ${INSTALL} -d ${DESTDIR}${${group}DIR_${.ALLSRC:T}}
+ ${INSTALL} ${${group}TAG_ARGS} -o ${${group}OWN_${.ALLSRC:T}} \
+ -g ${${group}GRP_${.ALLSRC:T}} -m ${${group}MODE_${.ALLSRC:T}} \
+ ${.ALLSRC} \
+@@ -75,10 +76,12 @@ stage_files.${group}: ${_${group}FILES}
+ installfiles-${group}: _${group}INS
+ _${group}INS: ${_${group}FILES}
+ .if defined(${group}NAME)
++ ${INSTALL} -d ${DESTDIR}${${group}DIR}/${${group}NAME}
+ ${INSTALL} ${${group}TAG_ARGS} -o ${${group}OWN} -g ${${group}GRP} \
+ -m ${${group}MODE} ${.ALLSRC} \
+ ${DESTDIR}${${group}DIR}/${${group}NAME}
+ .else
++ ${INSTALL} -d ${DESTDIR}${${group}DIR}
+ ${INSTALL} ${${group}TAG_ARGS} -o ${${group}OWN} -g ${${group}GRP} \
+ -m ${${group}MODE} ${.ALLSRC} ${DESTDIR}${${group}DIR}/
+ .endif
+diff --git a/share/mk/bsd.incs.mk b/share/mk/bsd.incs.mk
+index 04c1407..06ddde3 100644
+--- a/share/mk/bsd.incs.mk
++++ b/share/mk/bsd.incs.mk
+@@ -60,6 +60,9 @@ stage_includes: stage_as.${header:T}
+
+ installincludes: _${group}INS_${header:T}
+ _${group}INS_${header:T}: ${header}
++ ${INSTALL} -d -o ${${group}OWN_${.ALLSRC:T}} \
++ -g ${${group}GRP_${.ALLSRC:T}} \
++ ${DESTDIR}${${group}DIR_${.ALLSRC:T}}
+ ${INSTALL} -C -o ${${group}OWN_${.ALLSRC:T}} \
+ -g ${${group}GRP_${.ALLSRC:T}} -m ${${group}MODE_${.ALLSRC:T}} \
+ ${.ALLSRC} \
+@@ -75,9 +78,13 @@ stage_includes: stage_files.${group}
+ installincludes: _${group}INS
+ _${group}INS: ${_${group}INCS}
+ .if defined(${group}NAME)
++ ${INSTALL} -d -o ${${group}OWN} -g ${${group}GRP} \
++ ${DESTDIR}${${group}DIR}
+ ${INSTALL} ${TAG_ARGS:D${TAG_ARGS},development} -C -o ${${group}OWN} -g ${${group}GRP} -m ${${group}MODE} \
+ ${.ALLSRC} ${DESTDIR}${${group}DIR}/${${group}NAME}
+ .else
++ ${INSTALL} -d -o ${${group}OWN} -g ${${group}GRP} \
++ ${DESTDIR}${${group}DIR}
+ ${INSTALL} ${TAG_ARGS:D${TAG_ARGS},development} -C -o ${${group}OWN} -g ${${group}GRP} -m ${${group}MODE} \
+ ${.ALLSRC} ${DESTDIR}${${group}DIR}/
+ .endif
+diff --git a/share/mk/bsd.info.mk b/share/mk/bsd.info.mk
+index 46498fa..7b673f8 100644
+--- a/share/mk/bsd.info.mk
++++ b/share/mk/bsd.info.mk
+@@ -83,6 +83,7 @@ INFO2HTML?= info2html
+ TEX?= tex
+ DVIPS?= dvips
+ DVIPS2ASCII?= dvips2ascii
++INSTALL?= install
+
+ .SUFFIXES: ${ICOMPRESS_EXT} .info .texi .texinfo .dvi .ps .latin1 .html
+
+@@ -141,15 +142,17 @@ ${x:S/$/${ICOMPRESS_EXT}/}: ${x}
+ INSTALLINFODIRS+= ${x:S/$/-install/}
+ ${x:S/$/-install/}:
+ .if !empty(.MAKEFLAGS:M-j)
++ ${INSTALL} -d ${DESTDIR}${INFODIR}
+ lockf -k ${DESTDIR}${INFODIR}/${INFODIRFILE} \
+ ${INSTALLINFO} ${INSTALLINFOFLAGS} \
+- --defsection=${INFOSECTION} \
+- --defentry=${INFOENTRY_${x}} \
++ --section=${INFOSECTION} \
++ --entry=${INFOENTRY_${x}} \
+ ${x}.info ${DESTDIR}${INFODIR}/${INFODIRFILE}
+ .else
++ ${INSTALL} -d ${DESTDIR}${INFODIR}
+ ${INSTALLINFO} ${INSTALLINFOFLAGS} \
+- --defsection=${INFOSECTION} \
+- --defentry=${INFOENTRY_${x}} \
++ --section=${INFOSECTION} \
++ --entry=${INFOENTRY_${x}} \
+ ${x}.info ${DESTDIR}${INFODIR}/${INFODIRFILE}
+ .endif
+ .endfor
+diff --git a/share/mk/bsd.lib.mk b/share/mk/bsd.lib.mk
+index c59027c..f996c35 100644
+--- a/share/mk/bsd.lib.mk
++++ b/share/mk/bsd.lib.mk
+@@ -52,8 +52,6 @@ CFLAGS+= ${DEBUG_FLAGS}
+ .if ${MK_CTF} != "no" && ${DEBUG_FLAGS:M-g} != ""
+ CTFFLAGS+= -g
+ .endif
+-.else
+-STRIP?= -s
+ .endif
+
+ .if ${SHLIBDIR:M*lib32*}
+@@ -336,14 +334,17 @@ realinstall: _libinstall
+ .ORDER: beforeinstall _libinstall
+ _libinstall:
+ .if defined(LIB) && !empty(LIB) && ${MK_INSTALLLIB} != "no"
++ ${INSTALL} -d ${DESTDIR}${_LIBDIR}
+ ${INSTALL} ${TAG_ARGS:D${TAG_ARGS},development} -C -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
+ ${_INSTALLFLAGS} lib${LIB_PRIVATE}${LIB}.a ${DESTDIR}${_LIBDIR}/
+ .endif
+ .if ${MK_PROFILE} != "no" && defined(LIB) && !empty(LIB)
++ ${INSTALL} -d ${DESTDIR}${_LIBDIR}
+ ${INSTALL} ${TAG_ARGS:D${TAG_ARGS},profile} -C -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
+ ${_INSTALLFLAGS} lib${LIB_PRIVATE}${LIB}_p.a ${DESTDIR}${_LIBDIR}/
+ .endif
+ .if defined(SHLIB_NAME)
++ ${INSTALL} -d ${DESTDIR}${_SHLIBDIR}
+ ${INSTALL} ${TAG_ARGS} ${STRIP} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
+ ${_INSTALLFLAGS} ${_SHLINSTALLFLAGS} \
+ ${SHLIB_NAME} ${DESTDIR}${_SHLIBDIR}/
+@@ -388,10 +389,12 @@ _libinstall:
+ .endif # SHLIB_LINK
+ .endif # SHIB_NAME
+ .if defined(INSTALL_PIC_ARCHIVE) && defined(LIB) && !empty(LIB) && ${MK_TOOLCHAIN} != "no"
++ ${INSTALL} -d ${DESTDIR}${_LIBDIR}
+ ${INSTALL} ${TAG_ARGS:D${TAG_ARGS},development} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
+ ${_INSTALLFLAGS} lib${LIB}_pic.a ${DESTDIR}${_LIBDIR}/
+ .endif
+ .if defined(WANT_LINT) && !defined(NO_LINT) && defined(LIB) && !empty(LIB)
++ ${INSTALL} -d ${DESTDIR}${LINTLIBDIR}
+ ${INSTALL} ${TAG_ARGS:D${TAG_ARGS},development} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
+ ${_INSTALLFLAGS} ${LINTLIB} ${DESTDIR}${LINTLIBDIR}/
+ .endif
+diff --git a/share/mk/bsd.libnames.mk b/share/mk/bsd.libnames.mk
+index 98746fa..5c541ab 100644
+--- a/share/mk/bsd.libnames.mk
++++ b/share/mk/bsd.libnames.mk
+@@ -64,7 +64,7 @@ LIBELF?= ${DESTDIR}${LIBDIR_BASE}/libelf.a
+ LIBEXECINFO?= ${DESTDIR}${LIBDIR_BASE}/libexecinfo.a
+ LIBFETCH?= ${DESTDIR}${LIBDIR_BASE}/libfetch.a
+ LIBFIGPAR?= ${DESTDIR}${LIBDIR_BASE}/libfigpar.a
+-LIBFL?= "don't use LIBFL, use LIBL"
++LIBFL?= ${DESTDIR}${LIBDIR_BASE}/libfl.a
+ LIBFORM?= ${DESTDIR}${LIBDIR_BASE}/libform.a
+ LIBG2C?= ${DESTDIR}${LIBDIR_BASE}/libg2c.a
+ LIBGEOM?= ${DESTDIR}${LIBDIR_BASE}/libgeom.a
+@@ -93,7 +93,7 @@ LIBKEYCAP?= ${DESTDIR}${LIBDIR_BASE}/libkeycap.a
+ LIBKICONV?= ${DESTDIR}${LIBDIR_BASE}/libkiconv.a
+ LIBKRB5?= ${DESTDIR}${LIBDIR_BASE}/libkrb5.a
+ LIBKVM?= ${DESTDIR}${LIBDIR_BASE}/libkvm.a
+-LIBL?= ${DESTDIR}${LIBDIR_BASE}/libl.a
++LIBL?= ${DESTDIR}${LIBDIR_BASE}/libfl.a
+ LIBLN?= "don't use LIBLN, use LIBL"
+ LIBLZMA?= ${DESTDIR}${LIBDIR_BASE}/liblzma.a
+ LIBM?= ${DESTDIR}${LIBDIR_BASE}/libm.a
+diff --git a/share/mk/bsd.links.mk b/share/mk/bsd.links.mk
+index 75acbe1..b662439 100644
+--- a/share/mk/bsd.links.mk
++++ b/share/mk/bsd.links.mk
+@@ -16,9 +16,11 @@ afterinstall: _installlinks
+ _installlinks:
+ .for s t in ${LINKS}
+ @${ECHO} "${t} -> ${s}" ;\
++ test -d ${DESTDIR}/`dirname ${t}` || mkdir ${DESTDIR}/`dirname ${t}`;\
+ ${INSTALL_LINK} ${TAG_ARGS} ${DESTDIR}${s} ${DESTDIR}${t}
+ .endfor
+ .for s t in ${SYMLINKS}
+ @${ECHO} "${t} -> ${s}" ;\
++ test -d ${DESTDIR}/`dirname ${t}` || mkdir ${DESTDIR}/`dirname ${t}`;\
+ ${INSTALL_SYMLINK} ${TAG_ARGS} ${s} ${DESTDIR}/${t}
+ .endfor
+diff --git a/share/mk/bsd.man.mk b/share/mk/bsd.man.mk
+index 7306453..5fcd4f7 100644
+--- a/share/mk/bsd.man.mk
++++ b/share/mk/bsd.man.mk
+@@ -188,9 +188,11 @@ maninstall: ${MAN}
+ .if ${MK_MANCOMPRESS} == "no"
+ .if defined(MANFILTER)
+ .for __page in ${MAN}
++ ${INSTALL} -d ${DESTDIR}${MANDIR}${__page:E}${MANSUBDIR}/${__page}
+ ${MINSTALL} ${__page:T:S/$/${FILTEXTENSION}/g} \
+ ${DESTDIR}${MANDIR}${__page:E}${MANSUBDIR}/${__page}
+ .if defined(MANBUILDCAT) && !empty(MANBUILDCAT)
++ ${INSTALL} -d ${DESTDIR}${CATDIR}${__page:E}${MANSUBDIR}/${__page}
+ ${MINSTALL} ${__page:T:S/$/${CATEXT}${FILTEXTENSION}/g} \
+ ${DESTDIR}${CATDIR}${__page:E}${MANSUBDIR}/${__page}
+ .endif
+@@ -204,11 +206,14 @@ maninstall: ${MAN}
+ esac; \
+ page=$$1; shift; sect=$$1; shift; \
+ d=${DESTDIR}${MANDIR}$${sect}${MANSUBDIR}; \
++ ${ECHO} ${INSTALL} -d $${d}; \
++ ${INSTALL} -d $${d}; \
+ ${ECHO} ${MINSTALL} $${page} $${d}; \
+ ${MINSTALL} $${page} $${d}; \
+ done
+ .if defined(MANBUILDCAT) && !empty(MANBUILDCAT)
+ .for __page in ${MAN}
++ ${INSTALL} -d ${DESTDIR}${CATDIR}${__page:E}${MANSUBDIR}/${__page:T}
+ ${MINSTALL} ${__page:T:S/$/${CATEXT}/} \
+ ${DESTDIR}${CATDIR}${__page:E}${MANSUBDIR}/${__page:T}
+ .endfor
+@@ -216,9 +221,11 @@ maninstall: ${MAN}
+ .endif # defined(MANFILTER)
+ .else # ${MK_MANCOMPRESS} == "yes"
+ .for __page in ${MAN}
++ ${INSTALL} -d ${DESTDIR}${MANDIR}${__page:E}${MANSUBDIR}
+ ${MINSTALL} ${__page:T:S/$/${MCOMPRESS_EXT}/g} \
+ ${DESTDIR}${MANDIR}${__page:E}${MANSUBDIR}/
+ .if defined(MANBUILDCAT) && !empty(MANBUILDCAT)
++ ${INSTALL} -d ${DESTDIR}${CATDIR}${__page:E}${MANSUBDIR}/${__page:T:S/$/${MCOMPRESS_EXT}
+ ${MINSTALL} ${__page:T:S/$/${CATEXT}${MCOMPRESS_EXT}/g} \
+ ${DESTDIR}${CATDIR}${__page:E}${MANSUBDIR}/${__page:T:S/$/${MCOMPRESS_EXT}/}
+ .endif
+diff --git a/share/mk/bsd.nls.mk b/share/mk/bsd.nls.mk
+index 6f769d3..1679973 100644
+--- a/share/mk/bsd.nls.mk
++++ b/share/mk/bsd.nls.mk
+@@ -71,7 +71,8 @@ STAGE_SYMLINKS_DIR.NLS= ${STAGE_OBJTOP}
+ SYMLINKS+= ${NLSSYMLINKS}
+ .endif
+ .for file in ${NLS}
+-NLSNAME_${file:T}= ${file:T:R}/${NLSNAME}.cat
++NLSDIR_${file:T}= ${SHAREDIR}/nls/${file:T:R}/
++NLSNAME_${file:T}= ${NLSNAME}.cat
+ .if defined(NLSLINKS_${file:R}) && !empty(NLSLINKS_${file:R})
+ .if !empty(NLSLINKS_${file:R}:M${file:R})
+ .error NLSLINKS_${file:R} contains itself: ${file:R}
+diff --git a/share/mk/bsd.own.mk b/share/mk/bsd.own.mk
+index 3450a01..8ad3e69 100644
+--- a/share/mk/bsd.own.mk
++++ b/share/mk/bsd.own.mk
+@@ -217,9 +217,6 @@ INSTALL_SYMLINK?= ${INSTALL} ${SYMLINK}
+ INSTALL_RSYMLINK?= ${INSTALL} ${RSYMLINK}
+
+ # Common variables
+-.if !defined(DEBUG_FLAGS)
+-STRIP?= -s
+-.endif
+
+ COMPRESS_CMD?= gzip -cn
+ COMPRESS_EXT?= .gz
+diff --git a/share/mk/bsd.prog.mk b/share/mk/bsd.prog.mk
+index e4727ac..775fd8a 100644
+--- a/share/mk/bsd.prog.mk
++++ b/share/mk/bsd.prog.mk
+@@ -44,10 +44,6 @@ CTFFLAGS+= -g
+ .endif
+ .endif
+
+-.if !defined(DEBUG_FLAGS)
+-STRIP?= -s
+-.endif
+-
+ .if defined(NO_ROOT)
+ .if !defined(TAGS) || ! ${TAGS:Mpackage=*}
+ TAGS+= package=${PACKAGE:Uruntime}
+@@ -217,6 +213,7 @@ realinstall: _proginstall
+ .ORDER: beforeinstall _proginstall
+ _proginstall:
+ .if defined(PROG)
++ ${INSTALL} -d ${DESTDIR}${BINDIR}
+ ${INSTALL} ${TAG_ARGS} ${STRIP} -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} \
+ ${_INSTALLFLAGS} ${PROG} ${DESTDIR}${BINDIR}/${PROGNAME}
+ .if ${MK_DEBUG_FILES} != "no"
+@@ -255,6 +252,7 @@ SCRIPTSMODE_${script:T}?= ${SCRIPTSMODE}
+ STAGE_AS_${script:T}= ${SCRIPTSDIR_${script:T}}/${SCRIPTSNAME_${script:T}}
+ _scriptsinstall: _SCRIPTSINS_${script:T}
+ _SCRIPTSINS_${script:T}: ${script}
++ ${INSTALL} -d ${DESTDIR}${SCRIPTSDIR_${.ALLSRC:T}}
+ ${INSTALL} ${TAG_ARGS} -o ${SCRIPTSOWN_${.ALLSRC:T}} \
+ -g ${SCRIPTSGRP_${.ALLSRC:T}} -m ${SCRIPTSMODE_${.ALLSRC:T}} \
+ ${.ALLSRC} \
+diff --git a/share/mk/bsd.sys.mk b/share/mk/bsd.sys.mk
+index cb79bf1..3cad05f 100644
+--- a/share/mk/bsd.sys.mk
++++ b/share/mk/bsd.sys.mk
+@@ -29,9 +29,6 @@ CFLAGS+= -std=${CSTD}
+ .if defined(WARNS)
+ .if ${WARNS} >= 1
+ CWARNFLAGS+= -Wsystem-headers
+-.if !defined(NO_WERROR) && !defined(NO_WERROR.${COMPILER_TYPE})
+-CWARNFLAGS+= -Werror
+-.endif # !NO_WERROR && !NO_WERROR.${COMPILER_TYPE}
+ .endif # WARNS >= 1
+ .if ${WARNS} >= 2
+ CWARNFLAGS+= -Wall -Wno-format-y2k
+@@ -103,9 +100,6 @@ CWARNFLAGS+= -Wformat=2 -Wno-format-extra-args
+ .if ${WARNS} <= 3
+ CWARNFLAGS.clang+= -Wno-format-nonliteral
+ .endif # WARNS <= 3
+-.if !defined(NO_WERROR) && !defined(NO_WERROR.${COMPILER_TYPE})
+-CWARNFLAGS+= -Werror
+-.endif # !NO_WERROR && !NO_WERROR.${COMPILER_TYPE}
+ .endif # WFORMAT > 0
+ .endif # WFORMAT
+ .if defined(NO_WFORMAT) || defined(NO_WFORMAT.${COMPILER_TYPE})
+@@ -154,6 +148,13 @@ CFLAGS.clang+= -fno-dwarf2-cfi-asm
+ # but not yet.
+ CXXFLAGS.clang+= -Wno-c++11-extensions
+
++.if ${MK_SSP} == "no"
++# gcc-4.9, -fstack-protector-strong is enabled by default.
++# Add -fno-stack-protector to disable it. Gentoo Bug #511698.
++SSP_CFLAGS?= -fno-stack-protector
++CFLAGS+= ${SSP_CFLAGS}
++.endif
++
+ .if ${MK_SSP} != "no" && \
+ ${MACHINE_CPUARCH} != "arm" && ${MACHINE_CPUARCH} != "mips"
+ .if (${COMPILER_TYPE} == "clang" && ${COMPILER_VERSION} >= 30500) || \
+diff --git a/share/mk/sys.mk b/share/mk/sys.mk
+index 91d5a9a..7786edb 100644
+--- a/share/mk/sys.mk
++++ b/share/mk/sys.mk
+@@ -422,12 +422,6 @@ YFLAGS ?= -d
+ rm -f ${.PREFIX}.tmp.c
+ ${CTFCONVERT_CMD}
+
+-# Pull in global settings.
+-__MAKE_CONF?=/etc/make.conf
+-.if exists(${__MAKE_CONF})
+-.include "${__MAKE_CONF}"
+-.endif
+-
+ # late include for customization
+ .sinclude <local.sys.mk>
+
diff --git a/sys-freebsd/freebsd-mk-defs/files/freebsd-mk-defs-8.0-gentoo.patch b/sys-freebsd/freebsd-mk-defs/files/freebsd-mk-defs-8.0-gentoo.patch
new file mode 100644
index 000000000000..f17f6c4aad3a
--- /dev/null
+++ b/sys-freebsd/freebsd-mk-defs/files/freebsd-mk-defs-8.0-gentoo.patch
@@ -0,0 +1,332 @@
+Index: share/mk/bsd.doc.mk
+===================================================================
+--- share/mk/bsd.doc.mk.orig
++++ share/mk/bsd.doc.mk
+@@ -137,10 +137,12 @@ CLEANFILES+= ${DOC}.ascii ${DOC}.ascii${
+ realinstall:
+ .for _dev in ${PRINTERDEVICE:Mhtml}
+ cd ${SRCDIR}; \
++ ${INSTALL} -d ${DESTDIR}${BINDIR}/${VOLUME}
+ ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} \
+ ${DOC}*.html ${DESTDIR}${BINDIR}/${VOLUME}
+ .endfor
+ .for _dev in ${PRINTERDEVICE:Nhtml}
++ ${INSTALL} -d ${DESTDIR}${BINDIR}/${VOLUME}
+ ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} \
+ ${DFILE.${_dev}} ${DESTDIR}${BINDIR}/${VOLUME}
+ .endfor
+Index: share/mk/bsd.files.mk
+===================================================================
+--- share/mk/bsd.files.mk.orig
++++ share/mk/bsd.files.mk
+@@ -39,6 +39,7 @@ ${group}NAME_${file:T}?= ${file:T}
+ .endif
+ installfiles: _${group}INS_${file:T}
+ _${group}INS_${file:T}: ${file}
++ ${INSTALL} -d ${DESTDIR}${${group}DIR_${.ALLSRC}}/${${group}NAME_${.ALLSRC:T}:H}
+ ${INSTALL} -o ${${group}OWN_${.ALLSRC:T}} \
+ -g ${${group}GRP_${.ALLSRC:T}} -m ${${group}MODE_${.ALLSRC:T}} \
+ ${.ALLSRC} \
+@@ -51,10 +52,12 @@ _${group}FILES+= ${file}
+ installfiles: _${group}INS
+ _${group}INS: ${_${group}FILES}
+ .if defined(${group}NAME)
++ ${INSTALL} -d ${DESTDIR}${${group}DIR}/${${group}NAME}
+ ${INSTALL} -o ${${group}OWN} -g ${${group}GRP} \
+ -m ${${group}MODE} ${.ALLSRC} \
+ ${DESTDIR}${${group}DIR}/${${group}NAME}
+ .else
++ ${INSTALL} -d ${DESTDIR}${${group}DIR}
+ ${INSTALL} -o ${${group}OWN} -g ${${group}GRP} \
+ -m ${${group}MODE} ${.ALLSRC} ${DESTDIR}${${group}DIR}
+ .endif
+Index: share/mk/bsd.incs.mk
+===================================================================
+--- share/mk/bsd.incs.mk.orig
++++ share/mk/bsd.incs.mk
+@@ -41,6 +41,10 @@ ${group}NAME_${header:T}?= ${header:T}
+ .endif
+ installincludes: _${group}INS_${header:T}
+ _${group}INS_${header:T}: ${header}
++
++ ${INSTALL} -d -o ${${group}OWN_${.ALLSRC:T}} \
++ -g ${${group}GRP_${.ALLSRC:T}} -m ${${group}MODE_${.ALLSRC:T}} \
++ ${DESTDIR}${${group}DIR_${.ALLSRC:T}}/${${group}NAME_${.ALLSRC:T}}
+ ${INSTALL} -C -o ${${group}OWN_${.ALLSRC:T}} \
+ -g ${${group}GRP_${.ALLSRC:T}} -m ${${group}MODE_${.ALLSRC:T}} \
+ ${.ALLSRC} \
+@@ -53,9 +57,11 @@ _${group}INCS+= ${header}
+ installincludes: _${group}INS
+ _${group}INS: ${_${group}INCS}
+ .if defined(${group}NAME)
++ ${INSTALL} -d ${DESTDIR}${${group}DIR}
+ ${INSTALL} -C -o ${${group}OWN} -g ${${group}GRP} -m ${${group}MODE} \
+ ${.ALLSRC} ${DESTDIR}${${group}DIR}/${${group}NAME}
+ .else
++ ${INSTALL} -d ${DESTDIR}${${group}DIR}
+ ${INSTALL} -C -o ${${group}OWN} -g ${${group}GRP} -m ${${group}MODE} \
+ ${.ALLSRC} ${DESTDIR}${${group}DIR}
+ .endif
+Index: share/mk/bsd.info.mk
+===================================================================
+--- share/mk/bsd.info.mk.orig
++++ share/mk/bsd.info.mk
+@@ -83,6 +83,7 @@ INFO2HTML?= info2html
+ TEX?= tex
+ DVIPS?= dvips
+ DVIPS2ASCII?= dvips2ascii
++INSTALL?= install
+
+ .SUFFIXES: ${ICOMPRESS_EXT} .info .texi .texinfo .dvi .ps .latin1 .html
+
+@@ -144,12 +145,14 @@ ${x:S/$/${ICOMPRESS_EXT}/}: ${x}
+ INSTALLINFODIRS+= ${x:S/$/-install/}
+ ${x:S/$/-install/}:
+ .if !empty(.MAKEFLAGS:M-j)
++ ${INSTALL} -d ${DESTDIR}${INFODIR}/${INFODIRFILE}
+ lockf -k ${DESTDIR}${INFODIR}/${INFODIRFILE} \
+ ${INSTALLINFO} ${INSTALLINFOFLAGS} \
+ --defsection=${INFOSECTION} \
+ --defentry=${INFOENTRY_${x}} \
+ ${x}.info ${DESTDIR}${INFODIR}/${INFODIRFILE}
+ .else
++ ${INSTALL} -d ${DESTDIR}${INFODIR}/${INFODIRFILE}
+ ${INSTALLINFO} ${INSTALLINFOFLAGS} \
+ --defsection=${INFOSECTION} \
+ --defentry=${INFOENTRY_${x}} \
+Index: share/mk/bsd.lib.mk
+===================================================================
+--- share/mk/bsd.lib.mk.orig
++++ share/mk/bsd.lib.mk
+@@ -41,10 +41,6 @@ CTFFLAGS+= -g
+ .endif
+ .endif
+
+-.if !defined(DEBUG_FLAGS)
+-STRIP?= -s
+-.endif
+-
+ .include <bsd.libnames.mk>
+
+ # prefer .s to a .c, add .po, remove stuff not used in the BSD libraries
+@@ -276,14 +272,17 @@ realinstall: _libinstall
+ .ORDER: beforeinstall _libinstall
+ _libinstall:
+ .if defined(LIB) && !empty(LIB) && ${MK_INSTALLLIB} != "no"
++ ${INSTALL} -d ${DESTDIR}${LIBDIR}
+ ${INSTALL} -C -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
+ ${_INSTALLFLAGS} lib${LIB}.a ${DESTDIR}${LIBDIR}
+ .endif
+ .if ${MK_PROFILE} != "no" && defined(LIB) && !empty(LIB)
++ ${INSTALL} -d ${DESTDIR}${LIBDIR}
+ ${INSTALL} -C -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
+ ${_INSTALLFLAGS} lib${LIB}_p.a ${DESTDIR}${LIBDIR}
+ .endif
+ .if defined(SHLIB_NAME)
++ ${INSTALL} -d ${DESTDIR}${SHLIBDIR}
+ ${INSTALL} ${STRIP} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
+ ${_INSTALLFLAGS} ${_SHLINSTALLFLAGS} \
+ ${SHLIB_NAME} ${DESTDIR}${SHLIBDIR}
+Index: share/mk/bsd.libnames.mk
+===================================================================
+--- share/mk/bsd.libnames.mk.orig
++++ share/mk/bsd.libnames.mk
+@@ -46,7 +46,7 @@ LIBDWARF?= ${DESTDIR}${LIBDIR}/libdwarf.
+ LIBEDIT?= ${DESTDIR}${LIBDIR}/libedit.a
+ LIBELF?= ${DESTDIR}${LIBDIR}/libelf.a
+ LIBFETCH?= ${DESTDIR}${LIBDIR}/libfetch.a
+-LIBFL?= "don't use LIBFL, use LIBL"
++LIBFL?= ${DESTDIR}${LIBDOR}/libfl.a
+ LIBFORM?= ${DESTDIR}${LIBDIR}/libform.a
+ LIBFTPIO?= ${DESTDIR}${LIBDIR}/libftpio.a
+ LIBG2C?= ${DESTDIR}${LIBDIR}/libg2c.a
+@@ -77,7 +77,7 @@ LIBKEYCAP?= ${DESTDIR}${LIBDIR}/libkeyca
+ LIBKICONV?= ${DESTDIR}${LIBDIR}/libkiconv.a
+ LIBKRB5?= ${DESTDIR}${LIBDIR}/libkrb5.a
+ LIBKVM?= ${DESTDIR}${LIBDIR}/libkvm.a
+-LIBL?= ${DESTDIR}${LIBDIR}/libl.a
++LIBL?= ${DESTDIR}${LIBDOR}/libfl.a
+ LIBLN?= "don't use LIBLN, use LIBL"
+ .if ${MK_BIND} != "no"
+ LIBLWRES?= ${DESTDIR}${LIBDIR}/liblwres.a
+Index: share/mk/bsd.man.mk
+===================================================================
+--- share/mk/bsd.man.mk.orig
++++ share/mk/bsd.man.mk
+@@ -165,9 +165,11 @@ _maninstall: ${MAN}
+ .if defined(NO_MANCOMPRESS)
+ .if defined(MANFILTER)
+ .for __page in ${MAN}
++ ${INSTALL} -d ${DESTDIR}${MANDIR}${page:E}${MANSUBDIR}/${page}
+ ${MINSTALL} ${__page:T:S/$/${FILTEXTENSION}/g} \
+ ${DESTDIR}${MANDIR}${__page:E}${MANSUBDIR}/${__page}
+ .if defined(MANBUILDCAT) && !empty(MANBUILDCAT)
++ ${INSTALL} -d ${DESTDIR}${MANDIR}${page:E}${MANSUBDIR}/${page}
+ ${MINSTALL} ${__page:T:S/$/${CATEXT}${FILTEXTENSION}/g} \
+ ${DESTDIR}${CATDIR}${__page:E}${MANSUBDIR}/${__page}
+ .endif
+@@ -181,11 +183,14 @@ _maninstall: ${MAN}
+ esac; \
+ page=$$1; shift; sect=$$1; shift; \
+ d=${DESTDIR}${MANDIR}$${sect}${MANSUBDIR}; \
++ ${ECHO} ${INSTALL} -d $${d}; \
++ ${INSTALL} -d $${d}; \
+ ${ECHO} ${MINSTALL} $${page} $${d}; \
+ ${MINSTALL} $${page} $${d}; \
+ done
+ .if defined(MANBUILDCAT) && !empty(MANBUILDCAT)
+ .for __page in ${MAN}
++ ${INSTALL} -d ${DESTDIR}${CATDIR}${page:E}${MANSUBDIR}/${page:T}
+ ${MINSTALL} ${__page:T:S/$/${CATEXT}/} \
+ ${DESTDIR}${CATDIR}${__page:E}${MANSUBDIR}/${__page:T}
+ .endfor
+@@ -193,9 +198,11 @@ _maninstall: ${MAN}
+ .endif
+ .else
+ .for __page in ${MAN}
++ ${INSTALL} -d ${DESTDIR}${MANDIR}${page:E}${MANSUBDIR}
+ ${MINSTALL} ${__page:T:S/$/${MCOMPRESS_EXT}/g} \
+ ${DESTDIR}${MANDIR}${__page:E}${MANSUBDIR}
+ .if defined(MANBUILDCAT) && !empty(MANBUILDCAT)
++ ${INSTALL} -d ${DESTDIR}${CATDIR}${page:E}${MANSUBDIR}/${page:T:S/$/${MCOMPRESS_EXT}/}
+ ${MINSTALL} ${__page:T:S/$/${CATEXT}${MCOMPRESS_EXT}/g} \
+ ${DESTDIR}${CATDIR}${__page:E}${MANSUBDIR}/${__page:T:S/$/${MCOMPRESS_EXT}/}
+ .endif
+Index: share/mk/bsd.prog.mk
+===================================================================
+--- share/mk/bsd.prog.mk.orig
++++ share/mk/bsd.prog.mk
+@@ -27,10 +27,6 @@ CTFFLAGS+= -g
+ CFLAGS+=${CRUNCH_CFLAGS}
+ .endif
+
+-.if !defined(DEBUG_FLAGS)
+-STRIP?= -s
+-.endif
+-
+ .if defined(NO_SHARED) && (${NO_SHARED} != "no" && ${NO_SHARED} != "NO")
+ LDFLAGS+= -static
+ .endif
+@@ -152,9 +148,11 @@ realinstall: _proginstall
+ _proginstall:
+ .if defined(PROG)
+ .if defined(PROGNAME)
++ ${INSTALL} -d ${DESTDIR}${BINDIR}
+ ${INSTALL} ${STRIP} -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} \
+ ${_INSTALLFLAGS} ${PROG} ${DESTDIR}${BINDIR}/${PROGNAME}
+ .else
++ ${INSTALL} -d ${DESTDIR}${BINDIR}
+ ${INSTALL} ${STRIP} -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} \
+ ${_INSTALLFLAGS} ${PROG} ${DESTDIR}${BINDIR}
+ .endif
+@@ -182,6 +180,7 @@ SCRIPTSGRP_${script:T}?= ${SCRIPTSGRP}
+ SCRIPTSMODE_${script:T}?= ${SCRIPTSMODE}
+ _scriptsinstall: _SCRIPTSINS_${script:T}
+ _SCRIPTSINS_${script:T}: ${script}
++ ${INSTALL} -d ${DESTDIR}${SCRIPTSDIR_${.ALLSRC:T}}
+ ${INSTALL} -o ${SCRIPTSOWN_${.ALLSRC:T}} \
+ -g ${SCRIPTSGRP_${.ALLSRC:T}} -m ${SCRIPTSMODE_${.ALLSRC:T}} \
+ ${.ALLSRC} \
+Index: share/mk/bsd.sys.mk
+===================================================================
+--- share/mk/bsd.sys.mk.orig
++++ share/mk/bsd.sys.mk
+@@ -28,9 +28,6 @@ CFLAGS += -std=${CSTD}
+ . if defined(WARNS)
+ . if ${WARNS} >= 1
+ CWARNFLAGS += -Wsystem-headers
+-. if !defined(NO_WERROR)
+-CWARNFLAGS += -Werror
+-. endif
+ . endif
+ . if ${WARNS} >= 2
+ CWARNFLAGS += -Wall -Wno-format-y2k
+@@ -64,9 +61,6 @@ WFORMAT = 1
+ . if ${WFORMAT} > 0
+ #CWARNFLAGS += -Wformat-nonliteral -Wformat-security -Wno-format-extra-args
+ CWARNFLAGS += -Wformat=2 -Wno-format-extra-args
+-. if !defined(NO_WERROR)
+-CWARNFLAGS += -Werror
+-. endif
+ . endif
+ . endif
+ .endif
+Index: share/mk/bsd.links.mk
+===================================================================
+--- share/mk/bsd.links.mk.orig
++++ share/mk/bsd.links.mk
+@@ -15,6 +15,8 @@ _installlinks:
+ t=${DESTDIR}$$1; \
+ shift; \
+ ${ECHO} $$t -\> $$l; \
++ d=`dirname $$t`; \
++ test -d $$d || mkdir $$d; \
+ ln -f $$l $$t; \
+ done; true
+ .endif
+@@ -26,6 +28,8 @@ _installlinks:
+ t=${DESTDIR}$$1; \
+ shift; \
+ ${ECHO} $$t -\> $$l; \
++ d=`dirname $$t`; \
++ test -d $$d || mkdir $$d; \
+ ln -fs $$l $$t; \
+ done; true
+ .endif
+Index: share/mk/bsd.own.mk
+===================================================================
+--- share/mk/bsd.own.mk.orig
++++ share/mk/bsd.own.mk
+@@ -164,11 +164,6 @@ NLSMODE?= ${NOBINMODE}
+
+ INCLUDEDIR?= /usr/include
+
+-# Common variables
+-.if !defined(DEBUG_FLAGS)
+-STRIP?= -s
+-.endif
+-
+ COMPRESS_CMD?= gzip -cn
+ COMPRESS_EXT?= .gz
+
+Index: share/mk/sys.mk
+===================================================================
+--- share/mk/sys.mk.orig
++++ share/mk/sys.mk
+@@ -34,11 +34,11 @@ AFLAGS ?=
+ CC ?= c89
+ CFLAGS ?= -O
+ .else
+-CC ?= cc
++CC ?= gcc
+ .if ${MACHINE_ARCH} == "arm" || ${MACHINE_ARCH} == "mips"
+-CFLAGS ?= -O -pipe
++CFLAGS ?= -pipe
+ .else
+-CFLAGS ?= -O2 -pipe
++CFLAGS ?= -pipe
+ .endif
+ .if defined(NO_STRICT_ALIASING)
+ CFLAGS += -fno-strict-aliasing
+@@ -64,7 +64,7 @@ CFLAGS += -g
+ .endif
+ .endif
+
+-CXX ?= c++
++CXX ?= g++
+ CXXFLAGS ?= ${CFLAGS:N-std=*:N-Wnested-externs:N-W*-prototypes:N-Wno-pointer-sign}
+
+ CPP ?= cpp
+@@ -333,12 +333,6 @@ YFLAGS ?= -d
+ ${CTFCONVERT} ${CTFFLAGS} ${.TARGET}
+ .endif
+
+-# FreeBSD build pollution. Hide it in the non-POSIX part of the ifdef.
+-__MAKE_CONF?=/etc/make.conf
+-.if exists(${__MAKE_CONF})
+-.include "${__MAKE_CONF}"
+-.endif
+-
+ .if defined(__MAKE_SHELL) && !empty(__MAKE_SHELL)
+ SHELL= ${__MAKE_SHELL}
+ .SHELL: path=${__MAKE_SHELL}
diff --git a/sys-freebsd/freebsd-mk-defs/files/freebsd-mk-defs-8.0-gnu.patch b/sys-freebsd/freebsd-mk-defs/files/freebsd-mk-defs-8.0-gnu.patch
new file mode 100644
index 000000000000..41c4de4f945d
--- /dev/null
+++ b/sys-freebsd/freebsd-mk-defs/files/freebsd-mk-defs-8.0-gnu.patch
@@ -0,0 +1,121 @@
+Index: mk/bsd.incs.mk
+===================================================================
+--- mk/bsd.incs.mk.orig
++++ mk/bsd.incs.mk
+@@ -45,7 +45,7 @@ _${group}INS_${header:T}: ${header}
+ ${INSTALL} -d -o ${${group}OWN_${.ALLSRC:T}} \
+ -g ${${group}GRP_${.ALLSRC:T}} -m ${${group}MODE_${.ALLSRC:T}} \
+ ${DESTDIR}${${group}DIR_${.ALLSRC:T}}/${${group}NAME_${.ALLSRC:T}}
+- ${INSTALL} -C -o ${${group}OWN_${.ALLSRC:T}} \
++ ${INSTALL} -o ${${group}OWN_${.ALLSRC:T}} \
+ -g ${${group}GRP_${.ALLSRC:T}} -m ${${group}MODE_${.ALLSRC:T}} \
+ ${.ALLSRC} \
+ ${DESTDIR}${${group}DIR_${.ALLSRC:T}}/${${group}NAME_${.ALLSRC:T}}
+@@ -58,11 +58,11 @@ installincludes: _${group}INS
+ _${group}INS: ${_${group}INCS}
+ .if defined(${group}NAME)
+ ${INSTALL} -d ${DESTDIR}${${group}DIR}
+- ${INSTALL} -C -o ${${group}OWN} -g ${${group}GRP} -m ${${group}MODE} \
++ ${INSTALL} -o ${${group}OWN} -g ${${group}GRP} -m ${${group}MODE} \
+ ${.ALLSRC} ${DESTDIR}${${group}DIR}/${${group}NAME}
+ .else
+ ${INSTALL} -d ${DESTDIR}${${group}DIR}
+- ${INSTALL} -C -o ${${group}OWN} -g ${${group}GRP} -m ${${group}MODE} \
++ ${INSTALL} -o ${${group}OWN} -g ${${group}GRP} -m ${${group}MODE} \
+ ${.ALLSRC} ${DESTDIR}${${group}DIR}
+ .endif
+ .endif
+Index: mk/bsd.lib.mk
+===================================================================
+--- mk/bsd.lib.mk.orig
++++ mk/bsd.lib.mk
+@@ -156,11 +156,7 @@ _LIBS= lib${LIB}.a
+ lib${LIB}.a: ${OBJS} ${STATICOBJS}
+ @${ECHO} building static ${LIB} library
+ @rm -f ${.TARGET}
+-.if !defined(NM)
+- @${AR} cq ${.TARGET} `lorder ${OBJS} ${STATICOBJS} | tsort -q` ${ARADD}
+-.else
+- @${AR} cq ${.TARGET} `NM='${NM}' lorder ${OBJS} ${STATICOBJS} | tsort -q` ${ARADD}
+-.endif
++ @${AR} cq ${.TARGET} ${OBJS} ${STATICOBJS} ${ARADD}
+ ${RANLIB} ${.TARGET}
+ .endif
+
+@@ -173,11 +169,7 @@ POBJS+= ${OBJS:.o=.po} ${STATICOBJS:.o=
+ lib${LIB}_p.a: ${POBJS}
+ @${ECHO} building profiled ${LIB} library
+ @rm -f ${.TARGET}
+-.if !defined(NM)
+- @${AR} cq ${.TARGET} `lorder ${POBJS} | tsort -q` ${ARADD}
+-.else
+- @${AR} cq ${.TARGET} `NM='${NM}' lorder ${POBJS} | tsort -q` ${ARADD}
+-.endif
++ @${AR} cq ${.TARGET} ${POBJS} ${ARADD}
+ ${RANLIB} ${.TARGET}
+ .endif
+
+@@ -195,15 +187,9 @@ ${SHLIB_NAME}: ${SOBJS}
+ .if defined(SHLIB_LINK)
+ @ln -fs ${.TARGET} ${SHLIB_LINK}
+ .endif
+-.if !defined(NM)
+- @${CC} ${LDFLAGS} ${SSP_CFLAGS} -shared -Wl,-x \
+- -o ${.TARGET} -Wl,-soname,${SONAME} \
+- `lorder ${SOBJS} | tsort -q` ${LDADD}
+-.else
+ @${CC} ${LDFLAGS} ${SSP_CFLAGS} -shared -Wl,-x \
+ -o ${.TARGET} -Wl,-soname,${SONAME} \
+- `NM='${NM}' lorder ${SOBJS} | tsort -q` ${LDADD}
+-.endif
++ `echo ${SOBJS} | xargs -n 1 echo | sort -u` ${LDADD}
+ .if defined(CTFMERGE)
+ ${CTFMERGE} ${CTFFLAGS} -o ${.TARGET} ${SOBJS}
+ .endif
+@@ -251,13 +237,6 @@ _EXTRADEPEND:
+
+ .if !target(install)
+
+-.if defined(PRECIOUSLIB)
+-.if !defined(NO_FSCHG)
+-SHLINSTALLFLAGS+= -fschg
+-.endif
+-SHLINSTALLFLAGS+= -S
+-.endif
+-
+ _INSTALLFLAGS:= ${INSTALLFLAGS}
+ .for ie in ${INSTALLFLAGS_EDIT}
+ _INSTALLFLAGS:= ${_INSTALLFLAGS${ie}}
+@@ -273,12 +252,12 @@ realinstall: _libinstall
+ _libinstall:
+ .if defined(LIB) && !empty(LIB) && ${MK_INSTALLLIB} != "no"
+ ${INSTALL} -d ${DESTDIR}${LIBDIR}
+- ${INSTALL} -C -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
++ ${INSTALL} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
+ ${_INSTALLFLAGS} lib${LIB}.a ${DESTDIR}${LIBDIR}
+ .endif
+ .if ${MK_PROFILE} != "no" && defined(LIB) && !empty(LIB)
+ ${INSTALL} -d ${DESTDIR}${LIBDIR}
+- ${INSTALL} -C -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
++ ${INSTALL} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
+ ${_INSTALLFLAGS} lib${LIB}_p.a ${DESTDIR}${LIBDIR}
+ .endif
+ .if defined(SHLIB_NAME)
+Index: mk/bsd.prog.mk
+===================================================================
+--- mk/bsd.prog.mk.orig
++++ mk/bsd.prog.mk
+@@ -130,13 +130,6 @@ _EXTRADEPEND:
+
+ .if !target(install)
+
+-.if defined(PRECIOUSPROG)
+-.if !defined(NO_FSCHG)
+-INSTALLFLAGS+= -fschg
+-.endif
+-INSTALLFLAGS+= -S
+-.endif
+-
+ _INSTALLFLAGS:= ${INSTALLFLAGS}
+ .for ie in ${INSTALLFLAGS_EDIT}
+ _INSTALLFLAGS:= ${_INSTALLFLAGS${ie}}
diff --git a/sys-freebsd/freebsd-mk-defs/files/freebsd-mk-defs-9.1-gentoo.patch b/sys-freebsd/freebsd-mk-defs/files/freebsd-mk-defs-9.1-gentoo.patch
new file mode 100644
index 000000000000..598d0b9145b4
--- /dev/null
+++ b/sys-freebsd/freebsd-mk-defs/files/freebsd-mk-defs-9.1-gentoo.patch
@@ -0,0 +1,326 @@
+diff -Nur share.orig/mk/bsd.doc.mk share/mk/bsd.doc.mk
+--- share.orig/mk/bsd.doc.mk 2012-07-12 13:25:44.000000000 +0900
++++ share/mk/bsd.doc.mk 2012-07-16 00:01:55.000000000 +0900
+@@ -135,10 +135,12 @@
+ realinstall:
+ .for _dev in ${PRINTERDEVICE:Mhtml}
+ cd ${SRCDIR}; \
++ ${INSTALL} -d ${DESTDIR}${BINDIR}/${VOLUME}; \
+ ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} \
+ ${DOC}*.html ${DESTDIR}${BINDIR}/${VOLUME}
+ .endfor
+ .for _dev in ${PRINTERDEVICE:Nhtml}
++ ${INSTALL} -d ${DESTDIR}${BINDIR}/${VOLUME}; \
+ ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} \
+ ${DFILE.${_dev}} ${DESTDIR}${BINDIR}/${VOLUME}
+ .endfor
+diff -Nur share.orig/mk/bsd.files.mk share/mk/bsd.files.mk
+--- share.orig/mk/bsd.files.mk 2012-07-12 13:25:44.000000000 +0900
++++ share/mk/bsd.files.mk 2012-07-16 00:01:55.000000000 +0900
+@@ -39,6 +39,7 @@
+ .endif
+ installfiles: _${group}INS_${file:T}
+ _${group}INS_${file:T}: ${file}
++ ${INSTALL} -d ${DESTDIR}${${group}DIR_${.ALLSRC:T}}
+ ${INSTALL} -o ${${group}OWN_${.ALLSRC:T}} \
+ -g ${${group}GRP_${.ALLSRC:T}} -m ${${group}MODE_${.ALLSRC:T}} \
+ ${.ALLSRC} \
+@@ -51,10 +52,12 @@
+ installfiles: _${group}INS
+ _${group}INS: ${_${group}FILES}
+ .if defined(${group}NAME)
++ ${INSTALL} -d ${DESTDIR}${${group}DIR}/${${group}NAME}
+ ${INSTALL} -o ${${group}OWN} -g ${${group}GRP} \
+ -m ${${group}MODE} ${.ALLSRC} \
+ ${DESTDIR}${${group}DIR}/${${group}NAME}
+ .else
++ ${INSTALL} -d ${DESTDIR}${${group}DIR}
+ ${INSTALL} -o ${${group}OWN} -g ${${group}GRP} \
+ -m ${${group}MODE} ${.ALLSRC} ${DESTDIR}${${group}DIR}
+ .endif
+diff -Nur share.orig/mk/bsd.incs.mk share/mk/bsd.incs.mk
+--- share.orig/mk/bsd.incs.mk 2012-07-12 13:25:44.000000000 +0900
++++ share/mk/bsd.incs.mk 2012-07-16 00:01:55.000000000 +0900
+@@ -41,6 +41,9 @@
+ .endif
+ installincludes: _${group}INS_${header:T}
+ _${group}INS_${header:T}: ${header}
++ ${INSTALL} -d -o ${${group}OWN_${.ALLSRC:T}} \
++ -g ${${group}GRP_${.ALLSRC:T}} \
++ ${DESTDIR}${${group}DIR_${.ALLSRC:T}}
+ ${INSTALL} -C -o ${${group}OWN_${.ALLSRC:T}} \
+ -g ${${group}GRP_${.ALLSRC:T}} -m ${${group}MODE_${.ALLSRC:T}} \
+ ${.ALLSRC} \
+@@ -53,9 +56,13 @@
+ installincludes: _${group}INS
+ _${group}INS: ${_${group}INCS}
+ .if defined(${group}NAME)
++ ${INSTALL} -d -o ${${group}OWN} -g ${${group}GRP} \
++ ${DESTDIR}${${group}DIR}
+ ${INSTALL} -C -o ${${group}OWN} -g ${${group}GRP} -m ${${group}MODE} \
+ ${.ALLSRC} ${DESTDIR}${${group}DIR}/${${group}NAME}
+ .else
++ ${INSTALL} -d -o ${${group}OWN} -g ${${group}GRP} \
++ ${DESTDIR}${${group}DIR}
+ ${INSTALL} -C -o ${${group}OWN} -g ${${group}GRP} -m ${${group}MODE} \
+ ${.ALLSRC} ${DESTDIR}${${group}DIR}
+ .endif
+diff -Nur share.orig/mk/bsd.info.mk share/mk/bsd.info.mk
+--- share.orig/mk/bsd.info.mk 2012-07-12 13:25:44.000000000 +0900
++++ share/mk/bsd.info.mk 2012-07-16 00:01:55.000000000 +0900
+@@ -83,6 +83,7 @@
+ TEX?= tex
+ DVIPS?= dvips
+ DVIPS2ASCII?= dvips2ascii
++INSTALL?= install
+
+ .SUFFIXES: ${ICOMPRESS_EXT} .info .texi .texinfo .dvi .ps .latin1 .html
+
+@@ -144,15 +145,17 @@
+ INSTALLINFODIRS+= ${x:S/$/-install/}
+ ${x:S/$/-install/}:
+ .if !empty(.MAKEFLAGS:M-j)
++ ${INSTALL} -d ${DESTDIR}${INFODIR}
+ lockf -k ${DESTDIR}${INFODIR}/${INFODIRFILE} \
+ ${INSTALLINFO} ${INSTALLINFOFLAGS} \
+- --defsection=${INFOSECTION} \
+- --defentry=${INFOENTRY_${x}} \
++ --section=${INFOSECTION} \
++ --entry=${INFOENTRY_${x}} \
+ ${x}.info ${DESTDIR}${INFODIR}/${INFODIRFILE}
+ .else
++ ${INSTALL} -d ${DESTDIR}${INFODIR}
+ ${INSTALLINFO} ${INSTALLINFOFLAGS} \
+- --defsection=${INFOSECTION} \
+- --defentry=${INFOENTRY_${x}} \
++ --section=${INFOSECTION} \
++ --entry=${INFOENTRY_${x}} \
+ ${x}.info ${DESTDIR}${INFODIR}/${INFODIRFILE}
+ .endif
+ .endfor
+diff -Nur share.orig/mk/bsd.lib.mk share/mk/bsd.lib.mk
+--- share.orig/mk/bsd.lib.mk 2012-07-12 13:25:44.000000000 +0900
++++ share/mk/bsd.lib.mk 2012-07-16 00:01:55.000000000 +0900
+@@ -46,10 +46,6 @@
+ .endif
+ .endif
+
+-.if !defined(DEBUG_FLAGS)
+-STRIP?= -s
+-.endif
+-
+ .include <bsd.libnames.mk>
+
+ # prefer .s to a .c, add .po, remove stuff not used in the BSD libraries
+@@ -284,14 +280,17 @@
+ .ORDER: beforeinstall _libinstall
+ _libinstall:
+ .if defined(LIB) && !empty(LIB) && ${MK_INSTALLLIB} != "no"
++ ${INSTALL} -d ${DESTDIR}${LIBDIR}
+ ${INSTALL} -C -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
+ ${_INSTALLFLAGS} lib${LIB}.a ${DESTDIR}${LIBDIR}
+ .endif
+ .if ${MK_PROFILE} != "no" && defined(LIB) && !empty(LIB)
++ ${INSTALL} -d ${DESTDIR}${LIBDIR}
+ ${INSTALL} -C -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
+ ${_INSTALLFLAGS} lib${LIB}_p.a ${DESTDIR}${LIBDIR}
+ .endif
+ .if defined(SHLIB_NAME)
++ ${INSTALL} -d ${DESTDIR}${SHLIBDIR}
+ ${INSTALL} ${STRIP} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
+ ${_INSTALLFLAGS} ${_SHLINSTALLFLAGS} \
+ ${SHLIB_NAME} ${DESTDIR}${SHLIBDIR}
+@@ -329,10 +328,12 @@
+ .endif # SHLIB_LINK
+ .endif # SHIB_NAME
+ .if defined(INSTALL_PIC_ARCHIVE) && defined(LIB) && !empty(LIB) && ${MK_TOOLCHAIN} != "no"
++ ${INSTALL} -d ${DESTDIR}${LIBDIR}
+ ${INSTALL} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
+ ${_INSTALLFLAGS} lib${LIB}_pic.a ${DESTDIR}${LIBDIR}
+ .endif
+ .if defined(WANT_LINT) && !defined(NO_LINT) && defined(LIB) && !empty(LIB)
++ ${INSTALL} -d ${DESTDIR}${LINTLIBDIR}
+ ${INSTALL} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
+ ${_INSTALLFLAGS} ${LINTLIB} ${DESTDIR}${LINTLIBDIR}
+ .endif
+diff -Nur share.orig/mk/bsd.libnames.mk share/mk/bsd.libnames.mk
+--- share.orig/mk/bsd.libnames.mk 2012-07-12 13:25:44.000000000 +0900
++++ share/mk/bsd.libnames.mk 2012-07-16 00:01:55.000000000 +0900
+@@ -48,7 +48,7 @@
+ LIBEDIT?= ${DESTDIR}${LIBDIR}/libedit.a
+ LIBELF?= ${DESTDIR}${LIBDIR}/libelf.a
+ LIBFETCH?= ${DESTDIR}${LIBDIR}/libfetch.a
+-LIBFL?= "don't use LIBFL, use LIBL"
++LIBFL?= ${DESTDIR}${LIBDIR}/libfl.a
+ LIBFORM?= ${DESTDIR}${LIBDIR}/libform.a
+ LIBFTPIO?= ${DESTDIR}${LIBDIR}/libftpio.a
+ LIBG2C?= ${DESTDIR}${LIBDIR}/libg2c.a
+@@ -79,7 +79,7 @@
+ LIBKICONV?= ${DESTDIR}${LIBDIR}/libkiconv.a
+ LIBKRB5?= ${DESTDIR}${LIBDIR}/libkrb5.a
+ LIBKVM?= ${DESTDIR}${LIBDIR}/libkvm.a
+-LIBL?= ${DESTDIR}${LIBDIR}/libl.a
++LIBL?= ${DESTDIR}${LIBDIR}/libfl.a
+ LIBLN?= "don't use LIBLN, use LIBL"
+ .if ${MK_BIND} != "no"
+ LIBLWRES?= ${DESTDIR}${LIBDIR}/liblwres.a
+diff -Nur share.orig/mk/bsd.links.mk share/mk/bsd.links.mk
+--- share.orig/mk/bsd.links.mk 2012-07-12 13:25:44.000000000 +0900
++++ share/mk/bsd.links.mk 2012-07-16 00:01:55.000000000 +0900
+@@ -15,6 +15,8 @@
+ t=${DESTDIR}$$1; \
+ shift; \
+ ${ECHO} $$t -\> $$l; \
++ d=`dirname $$t`; \
++ test -d $$d || mkdir $$d; \
+ ln -f $$l $$t; \
+ done; true
+ .endif
+@@ -26,6 +28,8 @@
+ t=${DESTDIR}$$1; \
+ shift; \
+ ${ECHO} $$t -\> $$l; \
++ d=`dirname $$t`; \
++ test -d $$d || mkdir $$d; \
+ ln -fs $$l $$t; \
+ done; true
+ .endif
+diff -Nur share.orig/mk/bsd.man.mk share/mk/bsd.man.mk
+--- share.orig/mk/bsd.man.mk 2012-07-12 13:25:44.000000000 +0900
++++ share/mk/bsd.man.mk 2012-07-16 00:01:55.000000000 +0900
+@@ -165,9 +165,11 @@
+ .if defined(NO_MANCOMPRESS)
+ .if defined(MANFILTER)
+ .for __page in ${MAN}
++ ${INSTALL} -d ${DESTDIR}${MANDIR}${page:E}${MANSUBDIR}/${page}
+ ${MINSTALL} ${__page:T:S/$/${FILTEXTENSION}/g} \
+ ${DESTDIR}${MANDIR}${__page:E}${MANSUBDIR}/${__page}
+ .if defined(MANBUILDCAT) && !empty(MANBUILDCAT)
++ ${INSTALL} -d ${DESTDIR}${CATDIR}${page:E}${MANSUBDIR}/${page}
+ ${MINSTALL} ${__page:T:S/$/${CATEXT}${FILTEXTENSION}/g} \
+ ${DESTDIR}${CATDIR}${__page:E}${MANSUBDIR}/${__page}
+ .endif
+@@ -181,11 +183,14 @@
+ esac; \
+ page=$$1; shift; sect=$$1; shift; \
+ d=${DESTDIR}${MANDIR}$${sect}${MANSUBDIR}; \
++ ${ECHO} ${INSTALL} -d $${d}; \
++ ${INSTALL} -d $${d}; \
+ ${ECHO} ${MINSTALL} $${page} $${d}; \
+ ${MINSTALL} $${page} $${d}; \
+ done
+ .if defined(MANBUILDCAT) && !empty(MANBUILDCAT)
+ .for __page in ${MAN}
++ ${INSTALL} -d ${DESTDIR}${CATDIR}${page:E}${MANSUBDIR}/${page:T}
+ ${MINSTALL} ${__page:T:S/$/${CATEXT}/} \
+ ${DESTDIR}${CATDIR}${__page:E}${MANSUBDIR}/${__page:T}
+ .endfor
+@@ -193,9 +198,11 @@
+ .endif
+ .else
+ .for __page in ${MAN}
++ ${INSTALL} -d ${DESTDIR}${MANDIR}${page:E}${MANSUBDIR}
+ ${MINSTALL} ${__page:T:S/$/${MCOMPRESS_EXT}/g} \
+ ${DESTDIR}${MANDIR}${__page:E}${MANSUBDIR}
+ .if defined(MANBUILDCAT) && !empty(MANBUILDCAT)
++ ${INSTALL} -d ${DESTDIR}${CATDIR}${page:E}${MANSUBDIR}/${page:T:S/$/${MCOMPRESS_EXT}
+ ${MINSTALL} ${__page:T:S/$/${CATEXT}${MCOMPRESS_EXT}/g} \
+ ${DESTDIR}${CATDIR}${__page:E}${MANSUBDIR}/${__page:T:S/$/${MCOMPRESS_EXT}/}
+ .endif
+diff -Nur share.orig/mk/bsd.nls.mk share/mk/bsd.nls.mk
+--- share.orig/mk/bsd.nls.mk 2012-07-12 13:25:44.000000000 +0900
++++ share/mk/bsd.nls.mk 2012-07-16 00:01:55.000000000 +0900
+@@ -62,7 +62,8 @@
+ # installation rules
+ #
+ .for file in ${NLS}
+-NLSNAME_${file:T}= ${file:T:R}/${NLSNAME}.cat
++NLSDIR_${file:T}= ${SHAREDIR}/nls/${file:T:R}/
++NLSNAME_${file:T}= ${NLSNAME}.cat
+ .if defined(NLSLINKS_${file:R}) && !empty(NLSLINKS_${file:R})
+ NLSLINKS+= ${file:R}
+ .endif
+diff -Nur share.orig/mk/bsd.own.mk share/mk/bsd.own.mk
+--- share.orig/mk/bsd.own.mk 2012-07-12 13:25:44.000000000 +0900
++++ share/mk/bsd.own.mk 2012-07-16 00:01:55.000000000 +0900
+@@ -182,9 +182,6 @@
+ INCLUDEDIR?= /usr/include
+
+ # Common variables
+-.if !defined(DEBUG_FLAGS)
+-STRIP?= -s
+-.endif
+
+ COMPRESS_CMD?= gzip -cn
+ COMPRESS_EXT?= .gz
+diff -Nur share.orig/mk/bsd.prog.mk share/mk/bsd.prog.mk
+--- share.orig/mk/bsd.prog.mk 2012-07-12 13:25:44.000000000 +0900
++++ share/mk/bsd.prog.mk 2012-07-16 00:01:55.000000000 +0900
+@@ -33,10 +33,6 @@
+ CFLAGS+=${CRUNCH_CFLAGS}
+ .endif
+
+-.if !defined(DEBUG_FLAGS)
+-STRIP?= -s
+-.endif
+-
+ .if defined(NO_SHARED) && (${NO_SHARED} != "no" && ${NO_SHARED} != "NO")
+ LDFLAGS+= -static
+ .endif
+@@ -155,6 +151,7 @@
+ .ORDER: beforeinstall _proginstall
+ _proginstall:
+ .if defined(PROG)
++ ${INSTALL} -d ${DESTDIR}${BINDIR}
+ .if defined(PROGNAME)
+ ${INSTALL} ${STRIP} -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} \
+ ${_INSTALLFLAGS} ${PROG} ${DESTDIR}${BINDIR}/${PROGNAME}
+@@ -186,6 +183,7 @@
+ SCRIPTSMODE_${script:T}?= ${SCRIPTSMODE}
+ _scriptsinstall: _SCRIPTSINS_${script:T}
+ _SCRIPTSINS_${script:T}: ${script}
++ ${INSTALL} -d ${DESTDIR}${SCRIPTSDIR_${.ALLSRC:T}}
+ ${INSTALL} -o ${SCRIPTSOWN_${.ALLSRC:T}} \
+ -g ${SCRIPTSGRP_${.ALLSRC:T}} -m ${SCRIPTSMODE_${.ALLSRC:T}} \
+ ${.ALLSRC} \
+diff -Nur share.orig/mk/bsd.sys.mk share/mk/bsd.sys.mk
+--- share.orig/mk/bsd.sys.mk 2012-07-12 13:25:44.000000000 +0900
++++ share/mk/bsd.sys.mk 2012-07-16 00:04:14.000000000 +0900
+@@ -28,10 +28,6 @@
+ .if defined(WARNS)
+ .if ${WARNS} >= 1
+ CWARNFLAGS+= -Wsystem-headers
+-.if !defined(NO_WERROR) && ((${MK_CLANG_IS_CC} == "no" && \
+- ${CC:T:Mclang} != "clang") || !defined(NO_WERROR.clang))
+-CWARNFLAGS+= -Werror
+-.endif # !NO_WERROR && (!CLANG || !NO_WERROR.clang)
+ .endif # WARNS >= 1
+ .if ${WARNS} >= 2
+ CWARNFLAGS+= -Wall -Wno-format-y2k
+@@ -95,10 +91,6 @@
+ CWARNFLAGS+= -Wno-format-nonliteral
+ .endif # WARNS <= 3
+ .endif # CLANG
+-.if !defined(NO_WERROR) && ((${MK_CLANG_IS_CC} == "no" && \
+- ${CC:T:Mclang} != "clang") || !defined(NO_WERROR.clang))
+-CWARNFLAGS+= -Werror
+-.endif # !NO_WERROR && (!CLANG || !NO_WERROR.clang)
+ .endif # WFORMAT > 0
+ .endif # WFORMAT
+ .if defined(NO_WFORMAT) || ((${MK_CLANG_IS_CC} != "no" || \
+diff -Nur share.orig/mk/sys.mk share/mk/sys.mk
+--- share.orig/mk/sys.mk 2012-07-12 13:25:44.000000000 +0900
++++ share/mk/sys.mk 2012-07-16 00:01:55.000000000 +0900
+@@ -349,12 +349,6 @@
+ (${ECHO} ${CTFCONVERT} ${CTFFLAGS} ${.TARGET} && \
+ ${CTFCONVERT} ${CTFFLAGS} ${.TARGET})
+
+-# FreeBSD build pollution. Hide it in the non-POSIX part of the ifdef.
+-__MAKE_CONF?=/etc/make.conf
+-.if exists(${__MAKE_CONF})
+-.include "${__MAKE_CONF}"
+-.endif
+-
+ .if defined(__MAKE_SHELL) && !empty(__MAKE_SHELL)
+ SHELL= ${__MAKE_SHELL}
+ .SHELL: path=${__MAKE_SHELL}
diff --git a/sys-freebsd/freebsd-mk-defs/files/freebsd-mk-defs-9.1-gnu.patch b/sys-freebsd/freebsd-mk-defs/files/freebsd-mk-defs-9.1-gnu.patch
new file mode 100644
index 000000000000..f986ed9c3e11
--- /dev/null
+++ b/sys-freebsd/freebsd-mk-defs/files/freebsd-mk-defs-9.1-gnu.patch
@@ -0,0 +1,77 @@
+diff -Nur share.orig/mk/bsd.lib.mk share/mk/bsd.lib.mk
+--- share.orig/mk/bsd.lib.mk 2012-07-16 02:40:07.000000000 +0900
++++ share/mk/bsd.lib.mk 2012-07-16 02:41:40.000000000 +0900
+@@ -155,11 +155,7 @@
+ lib${LIB}.a: ${OBJS} ${STATICOBJS}
+ @${ECHO} building static ${LIB} library
+ @rm -f ${.TARGET}
+-.if !defined(NM)
+- @${AR} cq ${.TARGET} `lorder ${OBJS} ${STATICOBJS} | tsort -q` ${ARADD}
+-.else
+- @${AR} cq ${.TARGET} `NM='${NM}' lorder ${OBJS} ${STATICOBJS} | tsort -q` ${ARADD}
+-.endif
++ @${AR} cq ${.TARGET} ${OBJS} ${STATICOBJS} ${ARADD}
+ ${RANLIB} ${.TARGET}
+ .endif
+
+@@ -172,11 +168,7 @@
+ lib${LIB}_p.a: ${POBJS}
+ @${ECHO} building profiled ${LIB} library
+ @rm -f ${.TARGET}
+-.if !defined(NM)
+- @${AR} cq ${.TARGET} `lorder ${POBJS} | tsort -q` ${ARADD}
+-.else
+- @${AR} cq ${.TARGET} `NM='${NM}' lorder ${POBJS} | tsort -q` ${ARADD}
+-.endif
++ @${AR} cq ${.TARGET} ${POBJS} ${ARADD}
+ ${RANLIB} ${.TARGET}
+ .endif
+
+@@ -203,15 +195,9 @@
+ .if defined(SHLIB_LINK)
+ @ln -fs ${.TARGET} ${SHLIB_LINK}
+ .endif
+-.if !defined(NM)
+ @${CC} ${LDFLAGS} ${SSP_CFLAGS} ${SOLINKOPTS} \
+ -o ${.TARGET} -Wl,-soname,${SONAME} \
+- `lorder ${SOBJS} | tsort -q` ${LDADD}
+-.else
+- @${CC} ${LDFLAGS} ${SSP_CFLAGS} ${SOLINKOPTS} \
+- -o ${.TARGET} -Wl,-soname,${SONAME} \
+- `NM='${NM}' lorder ${SOBJS} | tsort -q` ${LDADD}
+-.endif
++ `echo ${SOBJS} | xargs -n 1 echo | sort -u` ${LDADD}
+ @[ -z "${CTFMERGE}" -o -n "${NO_CTF}" ] || \
+ (${ECHO} ${CTFMERGE} ${CTFFLAGS} -o ${.TARGET} ${SOBJS} && \
+ ${CTFMERGE} ${CTFFLAGS} -o ${.TARGET} ${SOBJS})
+@@ -259,13 +245,6 @@
+
+ .if !target(install)
+
+-.if defined(PRECIOUSLIB)
+-.if !defined(NO_FSCHG)
+-SHLINSTALLFLAGS+= -fschg
+-.endif
+-SHLINSTALLFLAGS+= -S
+-.endif
+-
+ _INSTALLFLAGS:= ${INSTALLFLAGS}
+ .for ie in ${INSTALLFLAGS_EDIT}
+ _INSTALLFLAGS:= ${_INSTALLFLAGS${ie}}
+diff -Nur share.orig/mk/bsd.prog.mk share/mk/bsd.prog.mk
+--- share.orig/mk/bsd.prog.mk 2012-07-16 02:40:07.000000000 +0900
++++ share/mk/bsd.prog.mk 2012-07-16 02:40:24.000000000 +0900
+@@ -134,13 +134,6 @@
+
+ .if !target(install)
+
+-.if defined(PRECIOUSPROG)
+-.if !defined(NO_FSCHG)
+-INSTALLFLAGS+= -fschg
+-.endif
+-INSTALLFLAGS+= -S
+-.endif
+-
+ _INSTALLFLAGS:= ${INSTALLFLAGS}
+ .for ie in ${INSTALLFLAGS_EDIT}
+ _INSTALLFLAGS:= ${_INSTALLFLAGS${ie}}
diff --git a/sys-freebsd/freebsd-mk-defs/files/freebsd-mk-defs-add-nossp-cflags.patch b/sys-freebsd/freebsd-mk-defs/files/freebsd-mk-defs-add-nossp-cflags.patch
new file mode 100644
index 000000000000..8eb80c38cc7a
--- /dev/null
+++ b/sys-freebsd/freebsd-mk-defs/files/freebsd-mk-defs-add-nossp-cflags.patch
@@ -0,0 +1,28 @@
+https://bugs.gentoo.org/show_bug.cgi?id=511698
+
+diff --git a/share/mk/bsd.sys.mk b/share/mk/bsd.sys.mk
+index e438633..de4a05b 100644
+--- a/share/mk/bsd.sys.mk
++++ b/share/mk/bsd.sys.mk
+@@ -111,12 +111,18 @@ CLANG_OPT_SMALL= -mstack-alignment=8 -mllvm -inline-threshold=3\
+ CFLAGS+= -Qunused-arguments
+ .endif # CLANG
+
+-.if ${MK_SSP} != "no" && ${MACHINE_CPUARCH} != "ia64" && \
+- ${MACHINE_CPUARCH} != "arm" && ${MACHINE_CPUARCH} != "mips"
++.if ${MACHINE_CPUARCH} != "ia64" && ${MACHINE_CPUARCH} != "arm" \
++ && ${MACHINE_CPUARCH} != "mips"
++.if ${MK_SSP} != "no"
+ # Don't use -Wstack-protector as it breaks world with -Werror.
+ SSP_CFLAGS?= -fstack-protector
++.else
++# gcc-4.9, -fstack-protector-strong is enabled by default.
++# Add -fno-stack-protector to disable it. Gentoo Bug #511698.
++SSP_CFLAGS= -fno-stack-protector
++.endif #SSP
+ CFLAGS+= ${SSP_CFLAGS}
+-.endif # SSP && !IA64 && !ARM && !MIPS
++.endif # !IA64 && !ARM && !MIPS
+
+ # Allow user-specified additional warning flags
+ CFLAGS+= ${CWARNFLAGS}
diff --git a/sys-freebsd/freebsd-mk-defs/freebsd-mk-defs-10.3.ebuild b/sys-freebsd/freebsd-mk-defs/freebsd-mk-defs-10.3.ebuild
new file mode 100644
index 000000000000..d6de89d0ca7b
--- /dev/null
+++ b/sys-freebsd/freebsd-mk-defs/freebsd-mk-defs-10.3.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit bsdmk freebsd
+
+DESCRIPTION="Makefiles definitions used for building and installing libraries and system files"
+SLOT="0"
+
+IUSE="userland_GNU"
+
+if [[ ${PV} != *9999* ]]; then
+ KEYWORDS="~amd64 ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd"
+fi
+
+EXTRACTONLY="share/"
+
+RDEPEND=""
+DEPEND=""
+
+RESTRICT="strip"
+
+S="${WORKDIR}/share/mk"
+
+src_prepare() {
+ epatch "${FILESDIR}/${PN}-10.3-gentoo.patch"
+ epatch "${FILESDIR}/${PN}-add-nossp-cflags.patch"
+ use userland_GNU && epatch "${FILESDIR}/${PN}-10.2-gnu.patch"
+}
+
+src_compile() { :; }
+
+src_install() {
+ if [[ ${CHOST} != *-freebsd* ]]; then
+ insinto /usr/share/mk/freebsd
+ else
+ insinto /usr/share/mk
+ fi
+ doins *.mk *.awk
+}
diff --git a/sys-freebsd/freebsd-mk-defs/freebsd-mk-defs-11.0.ebuild b/sys-freebsd/freebsd-mk-defs/freebsd-mk-defs-11.0.ebuild
new file mode 100644
index 000000000000..626f7863925f
--- /dev/null
+++ b/sys-freebsd/freebsd-mk-defs/freebsd-mk-defs-11.0.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit bsdmk freebsd
+
+DESCRIPTION="Makefiles definitions used for building and installing libraries and system files"
+SLOT="0"
+
+IUSE="userland_GNU"
+
+if [[ ${PV} != *9999* ]]; then
+ KEYWORDS="~amd64 ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd"
+fi
+
+EXTRACTONLY="share/"
+
+RDEPEND=""
+DEPEND=""
+
+RESTRICT="strip"
+
+S="${WORKDIR}/share/mk"
+
+src_prepare() {
+ local installdir
+
+ epatch "${FILESDIR}/${PN}-11.0-gentoo.patch"
+ epatch "${FILESDIR}/${PN}-11.0-rename-libs.patch"
+ epatch "${FILESDIR}/${PN}-11.0-libproc-libcxx.patch"
+ epatch "${FILESDIR}/${PN}-11.0-drop-unsupport-cflags.patch"
+ use userland_GNU && epatch "${FILESDIR}/${PN}-11.0-gnu.patch"
+
+ if [[ ${CHOST} != *-freebsd* ]]; then
+ installdir="/usr/share/mk/freebsd"
+ else
+ installdir="/usr/share/mk"
+ fi
+
+ sed -i -e "s:FILESDIR=.*:FILESDIR= ${installdir}:" "${S}"/Makefile || die
+}
+
+src_compile() { :; }
+
+src_install() {
+ freebsd_src_install
+ if [[ ${CHOST} != *-freebsd* ]]; then
+ insinto /usr/share/mk/freebsd/system
+ else
+ insinto /usr/share/mk/system
+ fi
+ doins *.mk *.awk
+}
diff --git a/sys-freebsd/freebsd-mk-defs/freebsd-mk-defs-11.1.ebuild b/sys-freebsd/freebsd-mk-defs/freebsd-mk-defs-11.1.ebuild
new file mode 100644
index 000000000000..1d2928c159a3
--- /dev/null
+++ b/sys-freebsd/freebsd-mk-defs/freebsd-mk-defs-11.1.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit bsdmk freebsd
+
+DESCRIPTION="Makefiles definitions used for building and installing libraries and system files"
+SLOT="0"
+
+IUSE="userland_GNU"
+
+if [[ ${PV} != *9999* ]]; then
+ KEYWORDS="~amd64 ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd"
+fi
+
+EXTRACTONLY="share/"
+
+RDEPEND=""
+DEPEND=""
+
+RESTRICT="strip"
+
+S="${WORKDIR}/share/mk"
+
+src_prepare() {
+ local installdir
+
+ epatch "${FILESDIR}/${PN}-11.1-gentoo.patch"
+ epatch "${FILESDIR}/${PN}-11.0-rename-libs.patch"
+ epatch "${FILESDIR}/${PN}-11.0-libproc-libcxx.patch"
+ epatch "${FILESDIR}/${PN}-11.0-drop-unsupport-cflags.patch"
+ use userland_GNU && epatch "${FILESDIR}/${PN}-11.0-gnu.patch"
+
+ if [[ ${CHOST} != *-freebsd* ]]; then
+ installdir="/usr/share/mk/freebsd"
+ else
+ installdir="/usr/share/mk"
+ fi
+
+ sed -i -e "s:FILESDIR=.*:FILESDIR= ${installdir}:" "${S}"/Makefile || die
+}
+
+src_compile() { :; }
+
+src_install() {
+ freebsd_src_install
+ if [[ ${CHOST} != *-freebsd* ]]; then
+ insinto /usr/share/mk/freebsd/system
+ else
+ insinto /usr/share/mk/system
+ fi
+ doins *.mk *.awk
+}
diff --git a/sys-freebsd/freebsd-mk-defs/freebsd-mk-defs-8.2.ebuild b/sys-freebsd/freebsd-mk-defs/freebsd-mk-defs-8.2.ebuild
new file mode 100644
index 000000000000..e08e22094a41
--- /dev/null
+++ b/sys-freebsd/freebsd-mk-defs/freebsd-mk-defs-8.2.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+inherit bsdmk freebsd
+
+DESCRIPTION="Makefiles definitions used for building and installing libraries and system files"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~sparc-fbsd ~x86-fbsd"
+
+IUSE=""
+
+SRC_URI="mirror://gentoo/${SHARE}.tar.bz2"
+
+RDEPEND=""
+DEPEND=""
+
+RESTRICT="strip"
+
+S="${WORKDIR}/share/mk"
+
+src_unpack() {
+ unpack ${A}
+
+ cd "${S}"
+ epatch "${FILESDIR}/${PN}-8.0-gentoo.patch"
+
+ [[ ${CHOST} != *-*bsd* || ${CHOST} == *-gnu ]] && \
+ epatch "${FILESDIR}/${PN}-8.0-gnu.patch"
+}
+
+src_compile() { :; }
+
+src_install() {
+ if [[ ${CHOST} != *-freebsd* ]]; then
+ insinto /usr/share/mk/freebsd
+ else
+ insinto /usr/share/mk
+ fi
+ doins *.mk *.awk
+}
diff --git a/sys-freebsd/freebsd-mk-defs/freebsd-mk-defs-9.1.ebuild b/sys-freebsd/freebsd-mk-defs/freebsd-mk-defs-9.1.ebuild
new file mode 100644
index 000000000000..d5f8b0df4b0e
--- /dev/null
+++ b/sys-freebsd/freebsd-mk-defs/freebsd-mk-defs-9.1.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=3
+
+inherit bsdmk freebsd
+
+DESCRIPTION="Makefiles definitions used for building and installing libraries and system files"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd"
+
+IUSE="userland_GNU"
+
+SRC_URI="mirror://gentoo/${SHARE}.tar.bz2"
+
+RDEPEND=""
+DEPEND=""
+
+RESTRICT="strip"
+
+S="${WORKDIR}/share/mk"
+
+src_prepare() {
+ epatch "${FILESDIR}/${PN}-9.1-gentoo.patch"
+ epatch "${FILESDIR}/${PN}-add-nossp-cflags.patch"
+ use userland_GNU && epatch "${FILESDIR}/${PN}-9.1-gnu.patch"
+}
+
+src_compile() { :; }
+
+src_install() {
+ if [[ ${CHOST} != *-freebsd* ]]; then
+ insinto /usr/share/mk/freebsd
+ else
+ insinto /usr/share/mk
+ fi
+ doins *.mk *.awk
+}
diff --git a/sys-freebsd/freebsd-mk-defs/metadata.xml b/sys-freebsd/freebsd-mk-defs/metadata.xml
new file mode 100644
index 000000000000..a00f3aeb1f81
--- /dev/null
+++ b/sys-freebsd/freebsd-mk-defs/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>bsd@gentoo.org</email>
+ <name>BSD Project</name>
+</maintainer>
+</pkgmetadata>