###############################################################################
# Copyright (c) 2000, 2014 IBM Corporation and others.
#
# This program and the accompanying materials
# are made available under the terms of the Eclipse Public License 2.0
# which accompanies this distribution, and is available at
# https://www.eclipse.org/legal/epl-2.0/
#
# SPDX-License-Identifier: EPL-2.0
#
# Contributors:
#     IBM Corporation - initial API and implementation
###############################################################################

#custom = true
bin.includes = bin/,\
               feature.xml,\
               feature.properties,\
               gtk_root/

####Even though marked as custom, the content of the build.properties needs to be updated to ensure correctness of RCP app exported 
#root.permissions.755=${launcherName}

root.win32.win32.x86_64=bin/win32/win32/x86_64
root.win32.win32.x86_64.permissions.755=launcher.exe

root.linux.gtk.ppc64le=bin/gtk/linux/ppc64le,gtk_root
root.linux.gtk.ppc64le.permissions.755=launcher

root.macosx.cocoa.x86_64=bin/cocoa/macosx/x86_64
root.macosx.cocoa.x86_64.permissions.755=Eclipse.app/Contents/MacOS/launcher

root.linux.gtk.x86_64=bin/gtk/linux/x86_64,gtk_root
root.linux.gtk.x86_64.permissions.755=libcairo-swt.so
