Skip site navigation (1)Skip section navigation (2)
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>