###############################################################################
# Copyright (c) 2000, 2010 IBM Corporation and others.
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License v1.0
# which accompanies this distribution, and is available at
# http://www.eclipse.org/legal/epl-v10.html
#
# Contributors:
#     IBM Corporation - initial API and implementation
###############################################################################

custom = true

####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=file:bin/win32/win32/x86/launcher.exe
root.win32.win32.x86_64=file:bin/win32/win32/x86_64/launcher.exe
root.win32.win32.ia64=file:contributed/win32/win32/ia64/launcher.exe
root.win32.wpf.x86=file:bin/wpf/win32/x86/launcher.exe

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

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

root.linux.gtk.ppc64=bin/gtk/linux/ppc64,gtk_root

root.macosx.carbon.ppc=bin/carbon/macosx/ppc
root.macosx.carbon.ppc.permissions.755=${launcherName}.app/Contents/MacOS/${launcherName}

root.macosx.carbon.x86=bin/carbon/macosx/x86
root.macosx.carbon.x86.permissions.755=${launcherName}.app/Contents/MacOS/${launcherName}

root.macosx.cocoa.ppc=bin/cocoa/macosx/ppc
root.macosx.cocoa.ppc.permissions.755=${launcherName}.app/Contents/MacOS/${launcherName}

root.macosx.cocoa.x86=bin/cocoa/macosx/x86
root.macosx.cocoa.x86.permissions.755=${launcherName}.app/Contents/MacOS/${launcherName}

root.macosx.cocoa.x86_64=bin/cocoa/macosx/x86_64
root.macosx.cocoa.x86_64.permissions.755=${launcherName}.app/Contents/MacOS/${launcherName}

root.aix.motif.ppc=bin/motif/aix/ppc

root.hpux.motif.PA_RISC=bin/motif/hpux/PA_RISC
root.hpux.motif.ia64_32=bin/motif/hpux/ia64_32

root.solaris.motif.sparc=contributed/motif/solaris/sparc
root.solaris.gtk.x86=bin/gtk/solaris/x86
root.solaris.gtk.sparc=bin/gtk/solaris/sparc

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

root.qnx.photon.x86=bin/photon/qnx/x86

root.linux.motif.x86=bin/motif/linux/x86,motif_root
root.linux.motif.x86.permissions.755=libXm.so.2,libcairo-swt.so

root.linux.gtk.s390x=contributed/gtk/linux/s390x,gtk_root
root.linux.gtk.s390=contributed/gtk/linux/s390,gtk_root
