Date: Fri, 3 Feb 2017 21:53:07 +0000 (UTC) From: Bryan Drewery <bdrewery@FreeBSD.org> To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r433264 - in head/devel/ccache: . files Message-ID: <201702032153.v13Lr7vL005053@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: bdrewery Date: Fri Feb 3 21:53:07 2017 New Revision: 433264 URL: https://svnweb.freebsd.org/changeset/ports/433264 Log: - Fix building with -Wp,-MT,path. Namely this fixes building the emulators/virtualbox-ose port. PR: 212818 Obtained from: https://github.com/ccache/ccache/commit/026ba6b9fdbeb3ab57d9eb424025a0a0850baae6 MFH: 2017Q1 Added: head/devel/ccache/files/patch-CCACHE_CPP2_Wp_MT (contents, props changed) Modified: head/devel/ccache/Makefile Modified: head/devel/ccache/Makefile ============================================================================== --- head/devel/ccache/Makefile Fri Feb 3 21:08:59 2017 (r433263) +++ head/devel/ccache/Makefile Fri Feb 3 21:53:07 2017 (r433264) @@ -3,7 +3,7 @@ PORTNAME= ccache PORTVERSION= 3.2.5 -PORTREVISION= 2 +PORTREVISION= 3 CATEGORIES= devel MASTER_SITES= http://www.samba.org/ftp/ccache/ \ LOCAL/bdrewery Added: head/devel/ccache/files/patch-CCACHE_CPP2_Wp_MT ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/devel/ccache/files/patch-CCACHE_CPP2_Wp_MT Fri Feb 3 21:53:07 2017 (r433264) @@ -0,0 +1,75 @@ +From 026ba6b9fdbeb3ab57d9eb424025a0a0850baae6 Mon Sep 17 00:00:00 2001 +From: Joel Rosdahl <joel@rosdahl.net> +Date: Wed, 7 Sep 2016 20:46:18 +0200 +Subject: [PATCH] Only pass -Wp,-MT and similar to the preprocessor + +This fixes an issue when compiler option -Wp,-MT,path is used instead of +-MT path (and similar for -MF, -MP and -MQ) and run_second_cpp +(CCACHE_CPP2) is enabled. + +Fixes #129. +--- + NEWS.txt | 4 ++++ + ccache.c | 9 +++++++++ + test/test_argument_processing.c | 9 +++++---- + 3 files changed, 18 insertions(+), 4 deletions(-) + +diff --git a/ccache.c b/ccache.c +index 591c7d7..5635cc1 100644 +--- ccache.c ++++ ccache.c +@@ -2249,6 +2249,11 @@ cc_process_args(struct args *args, struct args **preprocessor_args, + output_dep = make_relative_path(x_strdup(argv[i] + 9)); + args_add(dep_args, argv[i]); + continue; ++ } else if (str_startswith(argv[i], "-Wp,-M")) { ++ /* -MF, -MP, -MQ, -MT, etc. TODO: Make argument to MF/MQ/MT ++ * relative. */ ++ args_add(dep_args, argv[i]); ++ continue; + } else if (conf->direct_mode) { + /* + * -Wp, can be used to pass too hard options to +@@ -2258,6 +2263,10 @@ cc_process_args(struct args *args, struct args **preprocessor_args, + cc_log("Unsupported compiler option for direct mode: %s", argv[i]); + conf->direct_mode = false; + } ++ ++ /* Any other -Wp,* arguments are only relevant for the preprocessor. */ ++ args_add(cpp_args, argv[i]); ++ continue; + } + if (str_eq(argv[i], "-MP")) { + args_add(dep_args, argv[i]); +diff --git a/test/test_argument_processing.c b/test/test_argument_processing.c +index 0ecefd1..a1b6ecb 100644 +--- test/test_argument_processing.c ++++ test/test_argument_processing.c +@@ -1,5 +1,5 @@ + /* +- * Copyright (C) 2010-2015 Joel Rosdahl ++ * Copyright (C) 2010-2016 Joel Rosdahl + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free +@@ -57,7 +57,7 @@ TEST(dependency_flags_should_only_be_sent_to_the_preprocessor) + { + #define CMD \ + "cc -MD -MMD -MP -MF foo.d -MT mt1 -MT mt2 -MQ mq1 -MQ mq2" \ +- " -Wp,-MD,wpmd -Wp,-MMD,wpmmd" ++ " -Wp,-MD,wpmd -Wp,-MMD,wpmmd -Wp,-MP -Wp,-MT,wpmt -Wp,-MQ,wpmq -Wp,-MF,wpf" + struct args *orig = args_init_from_string(CMD " -c foo.c -o foo.o"); + struct args *exp_cpp = args_init_from_string(CMD); + #undef CMD +@@ -79,8 +79,9 @@ TEST(preprocessor_only_flags_should_only_be_sent_to_the_preprocessor) + " -include test.h -include-pch test.pch -iprefix . -iquote ." \ + " -isysroot . -isystem . -iwithprefix . -iwithprefixbefore ." \ + " -DTEST_MACRO -DTEST_MACRO2=1 -F. -trigraphs -fworking-directory" \ +- " -fno-working-directory -MD -MMD -MP -MF foo.d -MT mt1 -MT mt2 " \ +- " -MQ mq1 -MQ mq2 -Wp,-MD,wpmd -Wp,-MMD,wpmmd" ++ " -fno-working-directory -MD -MMD -MP -MF foo.d -MT mt1 -MT mt2" \ ++ " -MQ mq1 -MQ mq2 -Wp,-MD,wpmd -Wp,-MMD,wpmmd -Wp,-MP -Wp,-MT,wpmt" \ ++ " -Wp,-MQ,wpmq -Wp,-MF,wpf" + struct args *orig = args_init_from_string(CMD " -c foo.c -o foo.o"); + struct args *exp_cpp = args_init_from_string(CMD); + #undef CMD
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201702032153.v13Lr7vL005053>