Shawn Pearce 980b51f64e Fix path used in generated prolog class names
Force relative paths by passing the Prolog compiler only a relative
name from within $SRCDIR.  This avoids picking up the user's $HOME
path as part of the generated class file names, and prevents build
failures on filesystems where individual path components are limited
to 256 bytes.

Change-Id: I43f2a93daf857413401f4e1aeb24b9b2a8c741fe
2013-08-06 17:32:43 -07:00

49 lines
1.3 KiB
Plaintext

# Copyright (C) 2013 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
def prolog_cafe_library(
name,
srcs,
deps = [],
visibility = []):
genrule(
name = name + '__pl2j',
cmd = 'cd $SRCDIR;$(exe //lib/prolog:compiler) $DEPS ' +
' '.join(srcs) +
' $OUT',
srcs = srcs,
deps = ['//lib/prolog:compiler'],
out = name + '.src.zip',
)
java_library(
name = name + '__lib',
srcs = [genfile(name + '.src.zip')],
deps = [
':' + name + '__pl2j',
'//lib/prolog:prolog-cafe',
] + deps,
)
genrule(
name = name + '__ln',
cmd = 'ln -s $(location :%s__lib) $OUT' % name,
deps = [':%s__lib' % name],
out = name + '.jar',
)
prebuilt_jar(
name = name,
binary_jar = genfile(name + '.jar'),
deps = [':%s__ln' % name],
visibility = visibility,
)