1 #
   2 # Copyright (c) 2012, 2020, Oracle and/or its affiliates. All rights reserved.
   3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   4 #
   5 # This code is free software; you can redistribute it and/or modify it
   6 # under the terms of the GNU General Public License version 2 only, as
   7 # published by the Free Software Foundation.  Oracle designates this
   8 # particular file as subject to the "Classpath" exception as provided
   9 # by Oracle in the LICENSE file that accompanied this code.
  10 #
  11 # This code is distributed in the hope that it will be useful, but WITHOUT
  12 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  13 # FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  14 # version 2 for more details (a copy is included in the LICENSE file that
  15 # accompanied this code).
  16 #
  17 # You should have received a copy of the GNU General Public License version
  18 # 2 along with this work; if not, write to the Free Software Foundation,
  19 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  20 #
  21 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  22 # or visit www.oracle.com if you need additional information or have any
  23 # questions.
  24 #
  25 
  26 # Generate java sources using the X11 offsets that are precalculated in files
  27 # make/data/x11wrappergen/sizes-<address size>.txt.
  28 
  29 TOOL_WRAPPERGENERATOR = $(JAVA_SMALL) -cp $(BUILDTOOLS_OUTPUTDIR)/jdk_tools_classes \
  30     org.openjdk.buildtools.x11wrappergen.WrapperGenerator
  31 
  32 # Put the generated Java classes used to interface X11 from awt here.
  33 GENSRC_X11WRAPPERS_OUTPUTDIR := $(SUPPORT_OUTPUTDIR)/gensrc/java.desktop/sun/awt/X11
  34 
  35 # The pre-calculated offset file are stored here:
  36 GENSRC_X11WRAPPERS_DATADIR := $(TOPDIR)/make/data/x11wrappergen
  37 GENSRC_X11WRAPPERS_DATA := $(GENSRC_X11WRAPPERS_DATADIR)/sizes-$(OPENJDK_TARGET_CPU_BITS).txt
  38 
  39 # Run the tool on the offset files to generate several Java classes used in awt.
  40 $(eval $(call SetupExecute, gen_x11wrappers, \
  41     INFO := Generating X11 wrapper source files, \
  42     DEPS := $(BUILD_TOOLS_JDK) $(GENSRC_X11WRAPPERS_DATA) \
  43         $(GENSRC_X11WRAPPERS_DATADIR)/xlibtypes.txt, \
  44     OUTPUT_DIR := $(GENSRC_X11WRAPPERS_OUTPUTDIR), \
  45     COMMAND := $(TOOL_WRAPPERGENERATOR) gen_java $(GENSRC_X11WRAPPERS_OUTPUTDIR) \
  46         $(GENSRC_X11WRAPPERS_DATADIR)/xlibtypes.txt $(GENSRC_X11WRAPPERS_DATA) \
  47         $(OPENJDK_TARGET_CPU_BITS), \
  48 ))
  49 
  50 GENSRC_JAVA_DESKTOP += $(gen_x11wrappers_TARGET)