jdk/make/netbeans/awt2d/README
author duke
Wed, 05 Jul 2017 19:07:28 +0200
changeset 19256 89bb50abb217
parent 1090 c5805b1672a6
child 19870 19ebc43b932b
permissions -rw-r--r--
Merge
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
     1
Working on  AWT and Java2D code with NetBeans
90ce3da70b43 Initial load
duke
parents:
diff changeset
     2
90ce3da70b43 Initial load
duke
parents:
diff changeset
     3
  This project includes most of Java2D and AWT-related files,
90ce3da70b43 Initial load
duke
parents:
diff changeset
     4
  allows easy navigation and builds from within NetBeans.
90ce3da70b43 Initial load
duke
parents:
diff changeset
     5
  
90ce3da70b43 Initial load
duke
parents:
diff changeset
     6
  Since both AWT and Java2D have lots of native code, this
90ce3da70b43 Initial load
duke
parents:
diff changeset
     7
  project uses "make" targets for building.
90ce3da70b43 Initial load
duke
parents:
diff changeset
     8
  
90ce3da70b43 Initial load
duke
parents:
diff changeset
     9
  Unfortunately currently this project doesn't support
90ce3da70b43 Initial load
duke
parents:
diff changeset
    10
  working with native code. Meaning, there is no navigation, code 
90ce3da70b43 Initial load
duke
parents:
diff changeset
    11
  completion, refactoring, etc.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    12
  In the future we will provide native code support.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    13
  
90ce3da70b43 Initial load
duke
parents:
diff changeset
    14
  You can certainly install the C/C++ pack for NetBeans 6.0
90ce3da70b43 Initial load
duke
parents:
diff changeset
    15
  once it becomes available, or use any other editor for
90ce3da70b43 Initial load
duke
parents:
diff changeset
    16
  working with C/C++ files.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    17
  
90ce3da70b43 Initial load
duke
parents:
diff changeset
    18
  In order to use this project from within NetBeans you will have 
90ce3da70b43 Initial load
duke
parents:
diff changeset
    19
  to perform a full jdk build first.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    20
  
90ce3da70b43 Initial load
duke
parents:
diff changeset
    21
Here are the steps:
90ce3da70b43 Initial load
duke
parents:
diff changeset
    22
   1. setup your jdk build environment as described in 
90ce3da70b43 Initial load
duke
parents:
diff changeset
    23
      other documents (see build documentation)
90ce3da70b43 Initial load
duke
parents:
diff changeset
    24
  
90ce3da70b43 Initial load
duke
parents:
diff changeset
    25
   2. perform a full jdk build (preferably a FASTDEBUG build,
90ce3da70b43 Initial load
duke
parents:
diff changeset
    26
      as it simplifies the debugging - the classes and object files
90ce3da70b43 Initial load
duke
parents:
diff changeset
    27
      will be built with the debug information). 
90ce3da70b43 Initial load
duke
parents:
diff changeset
    28
      You only need to build jdk's "all" target:
90ce3da70b43 Initial load
duke
parents:
diff changeset
    29
        #> cd jdk/make
90ce3da70b43 Initial load
duke
parents:
diff changeset
    30
        #> make all > build.log 2>&1
90ce3da70b43 Initial load
duke
parents:
diff changeset
    31
  
90ce3da70b43 Initial load
duke
parents:
diff changeset
    32
   3. set "make" and "make.options"  properties in your 
90ce3da70b43 Initial load
duke
parents:
diff changeset
    33
      ~/.openjdk/build.properties file (see the main README 
90ce3da70b43 Initial load
duke
parents:
diff changeset
    34
      file for more information on property files)
90ce3da70b43 Initial load
duke
parents:
diff changeset
    35
      to set up the environment in NetBeans.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    36
90ce3da70b43 Initial load
duke
parents:
diff changeset
    37
      To get a list of variables you most likely will need to override
90ce3da70b43 Initial load
duke
parents:
diff changeset
    38
      to make the the build work in NetBeans, you can do something like this 
90ce3da70b43 Initial load
duke
parents:
diff changeset
    39
      (on Windows):
90ce3da70b43 Initial load
duke
parents:
diff changeset
    40
        #>env | grep ALT
90ce3da70b43 Initial load
duke
parents:
diff changeset
    41
        ALT_JDK_IMPORT_PATH=c:/devtools/java/jdk1.7.0
90ce3da70b43 Initial load
duke
parents:
diff changeset
    42
        ALT_DXSDK_PATH=c:/devtools/DirectX/DXSDK_Dec06
90ce3da70b43 Initial load
duke
parents:
diff changeset
    43
        ALT_BOOTDIR=c:/DevTools/java/jdk1.6.0
90ce3da70b43 Initial load
duke
parents:
diff changeset
    44
90ce3da70b43 Initial load
duke
parents:
diff changeset
    45
      If your build is a FASTDEBUG build, don't forget
90ce3da70b43 Initial load
duke
parents:
diff changeset
    46
      to set FASTDEBUG=true in the property file as well so that what you 
90ce3da70b43 Initial load
duke
parents:
diff changeset
    47
      have built from the terminal matches what will be built from NetBeans.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    48
90ce3da70b43 Initial load
duke
parents:
diff changeset
    49
      Set "make.options" in your build.properties
90ce3da70b43 Initial load
duke
parents:
diff changeset
    50
      accordingly:
90ce3da70b43 Initial load
duke
parents:
diff changeset
    51
        make.options=\
90ce3da70b43 Initial load
duke
parents:
diff changeset
    52
            ALT_JDK_IMPORT_PATH=c:/devtools/java/jdk1.7.0 \
90ce3da70b43 Initial load
duke
parents:
diff changeset
    53
            ALT_DXSDK_PATH=c:/devtools/DirectX/DXSDK_Dec06 \
90ce3da70b43 Initial load
duke
parents:
diff changeset
    54
            ALT_BOOTDIR=c:/DevTools/java/jdk1.6.0 \
90ce3da70b43 Initial load
duke
parents:
diff changeset
    55
            FASTDEBUG=true
90ce3da70b43 Initial load
duke
parents:
diff changeset
    56
        make=c:/devtools/cygwin/bin/make
90ce3da70b43 Initial load
duke
parents:
diff changeset
    57
90ce3da70b43 Initial load
duke
parents:
diff changeset
    58
   4. Windows only: make sure you either call vcvars32.bat
90ce3da70b43 Initial load
duke
parents:
diff changeset
    59
      file which sets the compiler environment
90ce3da70b43 Initial load
duke
parents:
diff changeset
    60
      (typically located in <YourVisualStudioInstallDir>/VC7/bin)
90ce3da70b43 Initial load
duke
parents:
diff changeset
    61
      and start NetBeans from the same terminal,
90ce3da70b43 Initial load
duke
parents:
diff changeset
    62
      or make Visual Studio register its environment
90ce3da70b43 Initial load
duke
parents:
diff changeset
    63
      variables globally.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    64
      (When building on 64-bit Windows platform, use setenv.cmd
90ce3da70b43 Initial load
duke
parents:
diff changeset
    65
       from Platform SDK instead of vcvars32, as described in the 
90ce3da70b43 Initial load
duke
parents:
diff changeset
    66
       build documentation)
90ce3da70b43 Initial load
duke
parents:
diff changeset
    67
90ce3da70b43 Initial load
duke
parents:
diff changeset
    68
   5. Now you can launch NetBeans
90ce3da70b43 Initial load
duke
parents:
diff changeset
    69
90ce3da70b43 Initial load
duke
parents:
diff changeset
    70
Notes on building the project from NetBeans
90ce3da70b43 Initial load
duke
parents:
diff changeset
    71
90ce3da70b43 Initial load
duke
parents:
diff changeset
    72
  If you work only with Java files, you can compile them
90ce3da70b43 Initial load
duke
parents:
diff changeset
    73
  with "Compile Single File" target ("F9" by default), the ant build
90ce3da70b43 Initial load
duke
parents:
diff changeset
    74
  will compile the class files into the correct directory automatically.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    75
90ce3da70b43 Initial load
duke
parents:
diff changeset
    76
  However, if you touched any of C/C++ files, 
90ce3da70b43 Initial load
duke
parents:
diff changeset
    77
  you will need to use "build main project" ("F11") which launches
90ce3da70b43 Initial load
duke
parents:
diff changeset
    78
  "make" on a set of directories.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    79
  
90ce3da70b43 Initial load
duke
parents:
diff changeset
    80
  Same goes if you touched a Java file which has native
90ce3da70b43 Initial load
duke
parents:
diff changeset
    81
  methods. You will need to run the build so that
90ce3da70b43 Initial load
duke
parents:
diff changeset
    82
  "javah" can generate the JNI header files used by 
90ce3da70b43 Initial load
duke
parents:
diff changeset
    83
  the native code.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    84
90ce3da70b43 Initial load
duke
parents:
diff changeset
    85
Demos
90ce3da70b43 Initial load
duke
parents:
diff changeset
    86
90ce3da70b43 Initial load
duke
parents:
diff changeset
    87
  The default run target for this project is Font2DTest,
90ce3da70b43 Initial load
duke
parents:
diff changeset
    88
  which is launched with the runtime you built.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    89
90ce3da70b43 Initial load
duke
parents:
diff changeset
    90
  You can also start other demos by selecting a demo
90ce3da70b43 Initial load
duke
parents:
diff changeset
    91
  in the Project or Files view and choosing "Run" from 
90ce3da70b43 Initial load
duke
parents:
diff changeset
    92
  the menu.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    93
  
90ce3da70b43 Initial load
duke
parents:
diff changeset
    94
  In particular, there is a J2DBench demo project, 
90ce3da70b43 Initial load
duke
parents:
diff changeset
    95
  which is a Java2D benchmark. To run it,
90ce3da70b43 Initial load
duke
parents:
diff changeset
    96
  select java2d.J2DBench/build.xml node in the
90ce3da70b43 Initial load
duke
parents:
diff changeset
    97
  "Projects" explorer and execute "Run" target.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    98
  For more information on this benchmark, see
90ce3da70b43 Initial load
duke
parents:
diff changeset
    99
  the project's README file in the "Files" view.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   100
90ce3da70b43 Initial load
duke
parents:
diff changeset
   101
Notes on using CND (C/C++ pack) with this project and NetBeans.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   102
90ce3da70b43 Initial load
duke
parents:
diff changeset
   103
  As mentioned above currently a project for working with native code is not 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   104
  provided. However, you can set it up by yourself if you have 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   105
  access to CND pack for NetBeans 6.0.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   106
90ce3da70b43 Initial load
duke
parents:
diff changeset
   107
  First, install CND as described here (this is a page for CND 5.5,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   108
  there likely will be one for 6.0 as well):
90ce3da70b43 Initial load
duke
parents:
diff changeset
   109
    http://www.netbeans.org/community/releases/55/cnd-install.html
90ce3da70b43 Initial load
duke
parents:
diff changeset
   110
  and make sure everyting works it works.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   111
90ce3da70b43 Initial load
duke
parents:
diff changeset
   112
  Then, create a new C/C++ project of "from existing code" type (see page 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   113
  mentioned above for examples). The project should be located in the same 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   114
  directoryas this project is - on the same level. Call it something like 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   115
  "awt2d-native-${platform}-${arch}". So, for example, you may have
90ce3da70b43 Initial load
duke
parents:
diff changeset
   116
    jdk/make/netbeans/awt2d
90ce3da70b43 Initial load
duke
parents:
diff changeset
   117
    jdk/make/netbeans/awt2d-native-windows-i586
90ce3da70b43 Initial load
duke
parents:
diff changeset
   118
90ce3da70b43 Initial load
duke
parents:
diff changeset
   119
  Specify the top level Makefile (jdk/make/Makefile), even though
90ce3da70b43 Initial load
duke
parents:
diff changeset
   120
  you will not be using, as the Java awt2d project is set up
90ce3da70b43 Initial load
duke
parents:
diff changeset
   121
  for building the workspace (thus make sure it's the default project,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   122
  so when you hit "Build Project" it's awt2d one that's chosen).
90ce3da70b43 Initial load
duke
parents:
diff changeset
   123
90ce3da70b43 Initial load
duke
parents:
diff changeset
   124
  The most important thing is to specify the directories which will
90ce3da70b43 Initial load
duke
parents:
diff changeset
   125
  be included into this project, the defines, and the directories for 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   126
  include files.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   127
  This will enable code completion and limited navigation.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   128
90ce3da70b43 Initial load
duke
parents:
diff changeset
   129
  Using the project wizard, select the source directories you're interested in.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   130
90ce3da70b43 Initial load
duke
parents:
diff changeset
   131
  For example, 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   132
   src/share/native/sun/java2d
90ce3da70b43 Initial load
duke
parents:
diff changeset
   133
   src/windows/native/sun/java2d
90ce3da70b43 Initial load
duke
parents:
diff changeset
   134
   ....
90ce3da70b43 Initial load
duke
parents:
diff changeset
   135
  (this will recursively include the subdirectories)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   136
90ce3da70b43 Initial load
duke
parents:
diff changeset
   137
  Then set the list of the includes required by CND to enable code assistance.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   138
  You can get a complete list of include directories by looking at your
90ce3da70b43 Initial load
duke
parents:
diff changeset
   139
  build log file and checking what directories are included with "-I" when 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   140
  the files you're interesed in are built (you can probably devise some
90ce3da70b43 Initial load
duke
parents:
diff changeset
   141
  script to generate the list of include files relative to the native
90ce3da70b43 Initial load
duke
parents:
diff changeset
   142
  cnd project directory, and the list of defines passed to the compiler)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   143
90ce3da70b43 Initial load
duke
parents:
diff changeset
   144
  For example, on Windows x86, you might have something like this
90ce3da70b43 Initial load
duke
parents:
diff changeset
   145
  (a somewhat complete list of awt and 2d native directories on windows):
90ce3da70b43 Initial load
duke
parents:
diff changeset
   146
90ce3da70b43 Initial load
duke
parents:
diff changeset
   147
  ../../src/share/javavm/export;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   148
  ../../src/share/native/common;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   149
  ../../src/share/native/sun/awt/debug;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   150
  ../../src/share/native/sun/awt/image/cvutils;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   151
  ../../src/share/native/sun/awt/image;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   152
  ../../src/share/native/sun/awt/medialib;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   153
  ../../src/share/native/sun/awt;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   154
  ../../src/share/native/sun/font/bidi;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   155
  ../../src/share/native/sun/font/layout;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   156
  ../../src/share/native/sun/font;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   157
  ../../src/share/native/sun/java2d/cmm/lcms;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   158
  ../../src/share/native/sun/java2d/cmm;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   159
  ../../src/share/native/sun/java2d/loops;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   160
  ../../src/share/native/sun/java2d/opengl;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   161
  ../../src/share/native/sun/java2d/pipe;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   162
  ../../src/share/native/sun/java2d;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   163
  ../../src/windows/javavm/export;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   164
  ../../src/windows/native/common;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   165
  ../../src/windows/native/sun/awt;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   166
  ../../src/windows/native/sun/java2d/d3d;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   167
  ../../src/windows/native/sun/java2d/opengl;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   168
  ../../src/windows/native/sun/java2d/windows;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   169
  ../../src/windows/native/sun/java2d;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   170
  ../../src/windows/native/sun/windows;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   171
  ../../build/windows-i586/tmp/sun/sun.awt/awt/CClassHeaders;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   172
  ../../build/windows-i586/tmp/sun/sun.awt/awt/obj;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   173
  ../../build/windows-i586/tmp/sun/sun.awt/awt/obj_gO;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   174
  ../../build/windows-i586/tmp/sun/sun.awt/jpeg/CClassHeaders;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   175
  ../../build/windows-i586/tmp/sun/sun.awt/splashscreen/CClassHeaders;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   176
  ../../build/windows-i586/tmp/sun/sun.font/fontmanager/CClassHeaders;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   177
  ../../build/windows-i586/tmp/sun/sun.font/t2k/CClassHeaders;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   178
  C:/DevTools/DirectX/DXSDK_Dec06/Include;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   179
  C:/devtools/VS2003/SDK/v1.1/include;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   180
  C:/devtools/VS2003/VC7/ATLMFC/INCLUDE;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   181
  C:/devtools/VS2003/VC7/INCLUDE;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   182
  C:/devtools/VS2003/VC7/PlatformSDK/include;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   183
  C:/devtools/VS2003/VC7/PlatformSDK/include/prerelease;
90ce3da70b43 Initial load
duke
parents:
diff changeset
   184
90ce3da70b43 Initial load
duke
parents:
diff changeset
   185
  (you can format this into a single line with ';' delimiters and paste it
90ce3da70b43 Initial load
duke
parents:
diff changeset
   186
  into the text field instead of entering them one by one)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   187
90ce3da70b43 Initial load
duke
parents:
diff changeset
   188
  Note that most paths are relative to the native project directory - 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   189
  this helps if you decide to relocate the workspace later. The ones that 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   190
  aren't relative are paths to external include directories, like those 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   191
  of the Platform SDK, DirectX SDK.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   192
  On Unix platforms these may be directories like /usr/include.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   193
90ce3da70b43 Initial load
duke
parents:
diff changeset
   194
  The parser must know some defines to correctly parse the source files,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   195
  these can also be obtained from the log file. For example, on Windows
90ce3da70b43 Initial load
duke
parents:
diff changeset
   196
  x86 with debugging enabled, the defines would be something like this:
90ce3da70b43 Initial load
duke
parents:
diff changeset
   197
    D3D_OVERLOADS; UNICODE; _UNICODE; WIN32; IAL; _LITTLE_ENDIAN; WIN32; _X86_; 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   198
    x86; WIN32_LEAN_AND_MEAN; INTERNAL_BUILD; JDK_MAJOR_VERSION='"1"'; 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   199
    JDK_MINOR_VERSION='"7"'; RELEASE=1.7.0-internal; DEBUG="true"
90ce3da70b43 Initial load
duke
parents:
diff changeset
   200
90ce3da70b43 Initial load
duke
parents:
diff changeset
   201
  (again, format it into a single line with '; ' delimiter - note the 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   202
  space after ';' - and paste into the corresponding text field)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   203
90ce3da70b43 Initial load
duke
parents:
diff changeset
   204
  Note that the list of include directories will be different on different
90ce3da70b43 Initial load
duke
parents:
diff changeset
   205
  platforms and architectures - consult you build log file.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   206
90ce3da70b43 Initial load
duke
parents:
diff changeset
   207
  After the project is created a loaded, you may want to check the list
90ce3da70b43 Initial load
duke
parents:
diff changeset
   208
  of include files which weren't found (right-click on the native 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   209
  project root in Projects exprorer, and select "View failed #include Directives" 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   210
  from the popup menu. Update the inlcude directories list accordingly.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   211
90ce3da70b43 Initial load
duke
parents:
diff changeset
   212
  You can later create a different configuration for non-debug build,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   213
  just make a copy of your current configuration - call it ${arch}-debug
90ce3da70b43 Initial load
duke
parents:
diff changeset
   214
  (in the native project's Properties dialog) and remove "DEBUG=true" from
90ce3da70b43 Initial load
duke
parents:
diff changeset
   215
  the list of defines.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   216
90ce3da70b43 Initial load
duke
parents:
diff changeset
   217
  Note that with both Java and native projects opened the default
90ce3da70b43 Initial load
duke
parents:
diff changeset
   218
  heap size NetBeans starts with might not be sufficient for comfortable work,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   219
  so you may need to increase it. You can do it either from the command line
90ce3da70b43 Initial load
duke
parents:
diff changeset
   220
  or by editing your ~/.netbeans/dev/etc/netbeans.conf file and adding
90ce3da70b43 Initial load
duke
parents:
diff changeset
   221
  something like this:
90ce3da70b43 Initial load
duke
parents:
diff changeset
   222
     -J-Xms312m -J-Xmx512m -J-XX:PermSize=128m -J-XX:MaxPermSize=200m
90ce3da70b43 Initial load
duke
parents:
diff changeset
   223
  to netbeans_default_options property.