From nobody Mon May 6 13:15:01 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=reject dis=none) header.from=citrix.com ARC-Seal: i=1; a=rsa-sha256; t=1673461148; cv=none; d=zohomail.com; s=zohoarc; b=nMDzqFLeqIAD6kdoljwjKckwdXzT3JvQXDJWNW7GRJoyjFInrp/zokFzsLLC2qp9k9zH4Zp5QNUSfDooxHCQgc5eXwAVg87QIXYGV89poV29VwmqeyD/mlRz4RO4m0gU2bLRdNIkJqLl9bOjpQAMkN3q9CgFTUVDp7qvOClUyng= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1673461148; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Sender:Subject:To; bh=foutTdf0FNdlLQB/7tBu2AGtwi1eM89uFp1rQnFdNjE=; b=fPK5T81XJziaMu1MOjHXti1wfGT/zFC3cFpTx10FOWkNhj+Kff+fdkX4Y8TaWDm9hCcy2CTSkq5kbOazEYProVppuMPMBN4FVT9QuKBHPtGbSCTlqi0m9x6MSihI5pEZMJMVz3VLAEnaFKOEbifoRDKKxI+i3xFsDhbezhjUjNs= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 167346114818744.81616533799013; Wed, 11 Jan 2023 10:19:08 -0800 (PST) Received: from list by lists.xenproject.org with outflank-mailman.475696.737479 (Exim 4.92) (envelope-from ) id 1pFfgF-0004tE-KW; Wed, 11 Jan 2023 18:18:31 +0000 Received: by outflank-mailman (output) from mailman id 475696.737479; Wed, 11 Jan 2023 18:18:31 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1pFfgF-0004t7-He; Wed, 11 Jan 2023 18:18:31 +0000 Received: by outflank-mailman (input) for mailman id 475696; Wed, 11 Jan 2023 18:18:29 +0000 Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254] helo=se1-gles-sth1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1pFfgD-0004t1-Og for xen-devel@lists.xenproject.org; Wed, 11 Jan 2023 18:18:29 +0000 Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com [216.71.145.155]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS id 56dafc82-91dc-11ed-91b6-6bf2151ebd3b; Wed, 11 Jan 2023 19:18:27 +0100 (CET) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 56dafc82-91dc-11ed-91b6-6bf2151ebd3b DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=citrix.com; s=securemail; t=1673461107; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=8eWpl94CgVNDdkjjqPyLI3KBUVFTsyRmT98TKI665ck=; b=dsVsbTdsBg8z+f+jFXNZP3vNjqLkMPhb44ZHkLvG7RY29bzET60YdtSP iBQNCEVnD/coboH4592N9XjavAHrXLhNQvXGVd/+2s0S/lyVi5rY0c/pC 50P5tZBpceim0o9ErPBKj5NRp8VaHPvQg+RUEt66/fW3+KB65l1xWyd0X E=; Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none X-SBRS: 4.0 X-MesageID: 92218242 X-Ironport-Server: esa3.hc3370-68.iphmx.com X-Remote-IP: 162.221.156.83 X-Policy: $RELAYED IronPort-Data: A9a23:5lxhZarKMUvrhYru9AfC5ob7/8heBmIZZRIvgKrLsJaIsI4StFCzt garIBnSOPbfZWKnLox3ao3g8EtV65TVnNU3HVE5+y40EHgb8puZCYyVIHmrMnLJJKUvbq7FA +Y2MYCccZ9uHhcwgj/3b9ANeFEljfngqoLUUbKCYWYpAFc+E0/NsDo788YhmIlknNOlNA2Ev NL2sqX3NUSsnjV5KQr40YrawP9UlKm06W1wUmAWP6gR5weHziBNVvrzGInqR5fGatgMdgKFb 76rIIGRpgvx4xorA9W5pbf3GmVirmn6ZFXmZtJ+AsBOszAazsAA+v9T2Mk0MC+7vw6hjdFpo OihgLTrIesf0g8gr8xGO/VQO3kW0aSrY9YrK1Dn2SCY5xWun3cBX5yCpaz5VGEV0r8fPI1Ay RAXACoDVRSu2tK9+bLla81lo8JzNvW2FoxK7xmMzRmBZRonaZXKQqGM7t5ExjYgwMtJGJ4yZ eJAN2ApNk6ZJUQSZBFHU/rSn8/x7pX7WzRetFKSo7tx+2XJxRZ9+LPsLMDUapqBQsA9ckOw9 zicpjSjXkty2Nq34gKf6lm+nPH0nwCgYa8SMqK98v9PqQjGroAUIEJPDgbqyRWjsWauVtQaJ 0EK9y4Gqakp6FftXtT7Rwe/onOPolgbQdU4O+8w5RyJy6HUyx2EHWVCRTlEAOHKr+dvG2Zsj AXQ2Yq0W3o/69V5VE5x6J+Oowi2FHUlJlYCOw4gRC4Ds8Pf/as820enoslYLIa5idj8GDfVy j+MrTQji7h7sfPnx5lX7nic3Wvy+8Ghohodo1yOAzn7tl8RiJuNPdTA1LTN0RpXwG91pHGlt WNMpcWR5ftm4XqlxH3UG7Vl8F1ECp+43NzgbbxHRcJJG9eFoSTLkWVsDNZWei9U3j4sI2OBX aMqkVo5CGVvFHWrd7RrRIm6Ft4ny6Ptffy8CK+PNYUTPMgsK1HXlM2LWaJ39zmz+HXAbIllY cvLGSpSJSty5VtbIMqeGL5GjO5DKtEWzmLPX5HrpylLIpLHDEN5vYwtaQPUBshgtfPsnekg2 4oHXyd840kFAbKWj+i+2dJ7EG3m2lBiW8mo8JIJJ7LdSuekcUl4Y8LsLXoaU9QNt8xoei3gp xlRhmcwJILDuED6 IronPort-HdrOrdr: A9a23:ZAoJ4KxiJ4IRZuDHZ9xgKrPxv+skLtp133Aq2lEZdPULSKGlfp GV9sjziyWetN9IYgBZpTnyAtj6fZq8z+893WB1B9uftWbdyQ+Vxe1ZjLcKhgeQYhEWldQtnZ uIEZIOb+EYZGIS5amV3OD7KadH/DDtytHKuQ6q9QYJcegcUdAD0+4WMGamO3wzYDMDKYsyFZ Ka6MYCjSGnY24rYsOyAWRAd/TfpvXQ/aiWKyIuNloC0k2jnDmo4Ln1H1yzxREFSQ5Cxr8k7C zsjxH53KO+qPu2oyWsmlM7rq4m1OcJ+OEzSvBkufJlawkETTzYJLiJbofy8wzdZtvfq2rC3u O84SvIdP4DkU85NlvF3CcFnTOQmwrGokWStWOwkD/tp9f0Syk9DNcEjYVFcgHB405lp91k1r lXtljpw6a/ICmw7hgV3eK4Ii1Chw6xuz4vgOQTh3tQXc8Xb6JQt5UW+AdQHI0bFCz35Yg7GK 02Zfusksp+YBefdTTUr2NvyNujUjA6GQqHWFELvoiQ3yJNlH50wkMEzIgUn2sG9pg6V55Yjt 60RZhAhfVLVIsbfKh9DOAOTY++DXHMWwvFNCaILVHuBMg8SgHwQl7MkcUIDc2RCe01JcEJ6e v8uXtjxBAPR34= X-IronPort-AV: E=Sophos;i="5.96,317,1665460800"; d="scan'208";a="92218242" From: Anthony PERARD To: CC: Jan Beulich , Andrew Cooper , Anthony PERARD Subject: [RFC PATCH] build: include/compat: figure out which other compat headers are needed Date: Wed, 11 Jan 2023 18:17:03 +0000 Message-ID: <20230111181703.30991-1-anthony.perard@citrix.com> X-Mailer: git-send-email 2.30.2 MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @citrix.com) X-ZM-MESSAGEID: 1673461151187100001 Content-Type: text/plain; charset="utf-8" Some compat headers depends on other compat headers that may not have been generated due to config option. This would be a generic way to deal with deps, instead of headers-$(call or $(CONFIG_TRACEBUFFER),$(CONFIG_HVM)) +=3D compat/trac= e.h This is just an RFC, as it only deals with "hvm_op.h" and nothing is done to have make regenerate the new file when needed. Signed-off-by: Anthony PERARD --- xen/include/Makefile | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/xen/include/Makefile b/xen/include/Makefile index 65be310eca..5e6de97841 100644 --- a/xen/include/Makefile +++ b/xen/include/Makefile @@ -34,6 +34,29 @@ headers-$(CONFIG_TRACEBUFFER) +=3D compat/trace.h headers-$(CONFIG_XENOPROF) +=3D compat/xenoprof.h headers-$(CONFIG_XSM_FLASK) +=3D compat/xsm/flask_op.h =20 +# Find dependencies of compat headers. +# e.g. hvm/hvm_op.h needs trace.h; but if CONFIG_TRACEBUFFER=3Dn, then tra= ce.h would be missing. +# +# Using sed to remove ".." from path because unsure if something else is a= vailable +# There's `realpath`, but maynot be available +# realpath --relative-to=3D. -mL compat/hvm/../trace.h -> compat/trace.h +# `make` also have macro for that $(abspath), only recent version. +# +# The $(CC) line to gen deps is derived from $(cmd_compat_i) +include $(obj)/.compat-header-deps.d +$(obj)/.compat-header-deps.d: include/public/hvm/hvm_op.h + $(CC) -MM -MF $@.tmp $(filter-out -Wa$(comma)% -include %/include/xen/con= fig.h,$(XEN_CFLAGS)) $< + for f in $$(cat $@.tmp | sed -r '1s/^[^:]*: //; s/ \\$$//'); do \ + echo $$f; \ + done | sed -r \ + -e 's#.*/public#compat#; : p; s#/[^/]+/../#/#; t p; s#$$# \\#' \ + -e '1i headers-y-deps :=3D \\' -e '$$a \ ' \ + > $@ + +headers-y-deps :=3D $(filter-out compat/xen-compat.h,$(headers-y-deps)) +# Add compat header dependencies and eliminates duplicates +headers-y :=3D $(sort $(headers-y) $(headers-y-deps)) + cppflags-y :=3D -include public/xen-compat.h -DXEN_GENERATI= NG_COMPAT_HEADERS cppflags-$(CONFIG_X86) +=3D -m32 =20 --=20 Anthony PERARD