[Mesa-dev] [PATCH] android: amd/common: add support for libmesa_amd_common

Mauro Rossi issor.oruam at gmail.com
Sat Nov 12 21:26:38 UTC 2016


> We'd really want to do:
>
> git rm src/amd/common/Makefile.sources
> git mv src/amd/common/Makefile.am src/amd/Makefile.common.am
> sed -i s|common/||g src/amd/Makefile.common.am
> + fix the odd piece throughout.
>
> As-is we have the sources lists duplicated and makefiles async from
> one another. And if history has thought us anything - this will break
> all the everytime.
>
> Mauro, can you give it a try ?
>
> Thanks
> Emil

Hi,

sed command was not necessary but I had to add
$(top_src)/src/amd/common include,
change configure.ac (like Jason Ekstrand had to do when isl makefile
structure was flattened),
modify Makefile.common.am as Makefile.addrlib.am

I've tried to build and there is no amd related error, it should be ok,
but in my "mesa for linux" build system I am lacking proper llvm
installation and I see llvm building errors, probably related to this
fact.

Please review and check by launching a build on your more stable linux
build systems/CI jobs, before pushing to mesa-dev
Thanks

Mauro

>From f78f66049118db3ed9b241dfd020418efe52c10b Mon Sep 17 00:00:00 2001
From: Mauro Rossi <issor.oruam at gmail.com>
Date: Sat, 12 Nov 2016 22:10:44 +0100
Subject: [PATCH] amd: flatten amd/common makefile structure

This pulls amd/common build rules into upper level makefile,
along with amd/addlib which is already there.
---
 configure.ac                                       |  1 -
 src/amd/Makefile.am                                |  1 +
 src/amd/{common/Makefile.am => Makefile.common.am} | 15 ++++++-----
 src/amd/common/Makefile.sources                    | 31 ----------------------
 4 files changed, 9 insertions(+), 39 deletions(-)
 rename src/amd/{common/Makefile.am => Makefile.common.am} (83%)
 delete mode 100644 src/amd/common/Makefile.sources

diff --git a/configure.ac b/configure.ac
index 4761c59..ebe0a2a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2682,7 +2682,6 @@ dnl Substitute the config
 AC_CONFIG_FILES([Makefile
         src/Makefile
         src/amd/Makefile
-        src/amd/common/Makefile
         src/amd/vulkan/Makefile
         src/compiler/Makefile
         src/egl/Makefile
diff --git a/src/amd/Makefile.am b/src/amd/Makefile.am
index d01d435..1402ca5 100644
--- a/src/amd/Makefile.am
+++ b/src/amd/Makefile.am
@@ -25,3 +25,4 @@ noinst_LTLIBRARIES =

 EXTRA_DIST = $(COMMON_HEADER_FILES)
 include Makefile.addrlib.am
+include Makefile.common.am
diff --git a/src/amd/common/Makefile.am b/src/amd/Makefile.common.am
similarity index 83%
rename from src/amd/common/Makefile.am
rename to src/amd/Makefile.common.am
index bc269ab..4ae8e28 100644
--- a/src/amd/common/Makefile.am
+++ b/src/amd/Makefile.common.am
@@ -19,15 +19,16 @@
 # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
 # IN THE SOFTWARE.

-include Makefile.sources
+COMMON_LIBS = common/libamd_common.la

 # TODO cleanup these
-AM_CPPFLAGS = \
+common_libamd_common_la_AM_CPPFLAGS = \
     $(VALGRIND_CFLAGS) \
     $(DEFINES) \
     -I$(top_srcdir)/include \
     -I$(top_builddir)/src \
     -I$(top_srcdir)/src \
+    -I$(top_srcdir)/src/amd/common \
     -I$(top_builddir)/src/compiler \
     -I$(top_builddir)/src/compiler/nir \
     -I$(top_srcdir)/src/compiler \
@@ -37,21 +38,21 @@ AM_CPPFLAGS = \
     -I$(top_srcdir)/src/gallium/auxiliary \
     -I$(top_srcdir)/src/gallium/include

-AM_CFLAGS = $(VISIBILITY_CFLAGS) \
+common_libamd_common_la_AM_CFLAGS = $(VISIBILITY_CFLAGS) \
     $(PTHREAD_CFLAGS) \
     $(LLVM_CFLAGS) \
     $(LIBELF_CFLAGS)

-AM_CXXFLAGS = \
+common_libamd_common_la_AM_CXXFLAGS = \
     $(VISIBILITY_CXXFLAGS) \
     $(LLVM_CXXFLAGS)

-noinst_LTLIBRARIES = libamd_common.la
+noinst_LTLIBRARIES += $(COMMON_LIBS)

-libamd_common_la_SOURCES = $(AMD_COMPILER_SOURCES)
+common_libamd_common_la_SOURCES = $(AMD_COMPILER_SOURCES)

 # nir_to_llvm requires LLVM 3.9, which is only required as a minimum when
 # radv is built.
 if HAVE_RADEON_VULKAN
-libamd_common_la_SOURCES += $(AMD_NIR_SOURCES)
+common_libamd_common_la_SOURCES += $(AMD_NIR_SOURCES)
 endif
diff --git a/src/amd/common/Makefile.sources b/src/amd/common/Makefile.sources
deleted file mode 100644
index 0aff73b..0000000
--- a/src/amd/common/Makefile.sources
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright © 2016 Bas Nieuwenhuizen
-#
-# Permission is hereby granted, free of charge, to any person obtaining a
-# copy of this software and associated documentation files (the "Software"),
-# to deal in the Software without restriction, including without limitation
-# the rights to use, copy, modify, merge, publish, distribute, sublicense,
-# and/or sell copies of the Software, and to permit persons to whom the
-# Software is furnished to do so, subject to the following conditions:
-#
-# The above copyright notice and this permission notice (including the next
-# paragraph) shall be included in all copies or substantial portions of the
-# Software.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
-# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
-# IN THE SOFTWARE.
-
-AMD_COMPILER_SOURCES := \
-    ac_binary.c \
-    ac_binary.h \
-    ac_llvm_helper.cpp \
-    ac_llvm_util.c \
-    ac_llvm_util.h
-
-AMD_NIR_SOURCES := \
-    ac_nir_to_llvm.c \
-    ac_nir_to_llvm.h
-- 
2.9.3
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-amd-flatten-the-makefile-structure.patch
Type: text/x-diff
Size: 4478 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20161112/0faae18c/attachment-0001.patch>


More information about the mesa-dev mailing list