Permalink
Browse files

Change directory structure

H4sICNwgJ1MAA0hhY2tMb2dvLnR4dACtW8uS2zgM
vO8v5KKLrqzxONnRSBf+gy6qyjfMzf9fa1sWCTQa
gCZZ71Y8tiQSBBqNB+kfv9+W68fy82O5vH18Df/z
68fvt69/fsAU5fF/cd63x92X5fq2fL7dH/lqX3ws
n48xvjYYLhwN3qk4jyvPF3kHYUb1+e1rm56DPf6+
D/b2tX/8+bg0P/+8HlduetbZndG+c6FfC7PvTT/7
xCgySjzhkiqsQSyfqv6l3vCdrsFfNJtWiFjZEnaJ
R30Jn1z7nQuxnFSDFnYVmI6N5mOMGUsLsWa2qlut
yT3Pj5e2wsx62oT0s+vEdlXovGCpilqevmnpOpn1
1wlt2oQcYfTyvPzrGG330H+PjwCIupK7cWmClqoB
TJHgaPAQGGdeDaBi3MdM+pK5qYK7/po5/4T22l9d
w7sK3087kIZ212bpQ940UQ76xgGsK2dYI+9JLdRw
W7qlDhy7iG/3InJXInbkyUb1K44I2N/uxhBYF84u
3QOnxYCkrlWQ+cVelD7aWK7BJz3aqKE5aW1W4NPm
FrFfFHSImaElEbHD+6HTO6NklDrVWO3TRDRPAtGu
19mMTn0DNCesZGfP1klZ9V+ttKbtrSVNzT7FjWvN
c064g+IVKhIN4dOuXwb92MGqZ5U+jUkNklDlh4ON
WqmJu+ZGo1kNCmigb1JC9JCpoGTG3qHjvdxTYxJl
SRIXYd1bcwSSoF1fenIu23y7ThQXyrseHm6RYAB3
0aZiIe4AYdPlwhxJaLrkIE1xTOX+QAW1BGHDpGfY
NmQQQ+wiLUaRV+rxcUoIEtwKCJmtGQwg4NHynStA
45JCTgbSw5AXcpkFURP6qG9mcYex2ysjaxC6Acss
Jckk8pTgm8HBpNNdSSa7o3e5i9mXftUfvZsXfTOL
8ybcmNTOobQG4Shb3Ey+5AIMCERgK80seJgy2hX2
rDUnDZFt4POTn4gj24Uh/Emsu/wnGErpf17mWdZG
LpcUZFCTw096LpvfnWCasPw5oWx+nXoNhvgkdGUz
V9d2E0aqh57z7gIJkz7dYEtrG+SrpLk8+BumKaNZ
UbdGoDOXaasfEdaN4dht7QXQYS5nsgYDapZadmJE
s5meSqaTBIRodFsoHwVa6024Hiuiv0oNeccgt2Z6
nZOP75xbEIrdesEvpEzRgLbGMgGSdkQCkDOaHnoq
T4cNSqnAQyDOyr60sLbb/DtuAfHTXvPhxNZwG9E0
zc8q9dUE86xuiHN5SDgKu3rlViYoDKI80HmUeg+i
3nZbiI4b+rGi7jDS7SWjdVyhX7Cv56zDq3Bsm1Te
8/LrclqSYRDQd3+P83Vu/e3sAI3aG19Rs72ZFWez
8ZmQWI2y9SC0n82TbMF02t7o9s/s1qFht0gCFt7I
3SEpVbavQAmJ5T29RZaGx0KyMJzHKrNK+x2raWkT
aRPjDHSXMuiFBAHwaaAsKINLQqEH3EmvCjLpXvbn
mTLp/PckNXE603IeXTfZkKt4Sgk5rsGCEAHiK3NL
v8kaByUjG1LJtvfNKKNoE2LqDlJDKAUL15f/6fAD
vYLB2EY3qINQSEp9VDuu3O6MaIyamlkKpp+8sSc9
VVC/0bQWNKzrng36bW9oTvvN6ySdOVGF3UXAHoRs
SVJ3LI1Gvb7NcT1xdrP6TUvLmnXuRpVNcjFt0xYW
+5XAbGJLwDjyK/3at6PQWAPaQ4QD3ALdR+D2p5RF
HEtvWUeeVRDuya5HfTkWkL/QFnoSkl+QKoIdV2aX
ZxmaNPb+rBXwndpD6wwEndFWZ/eURclkM/wkEmUe
T5++SGXq6Ij5bQu04cEH6dzHeKbxfEc4S838KLql
SGJtuTPWt9ns1nIV3aI0hdilQ54NbI46MFP7gRLc
u5c7OC7GkD4uRmnbxQITJlgVi6PbQfQUTHocY5BH
3liWKtyhHwuirX9kLTe7GXAHHgi7lHmGhIFvV3hF
KrK1edCztmEAqJjeiWEhNm79RiQRziFJdirMPLCZ
QMuKUtzNHXlSJz4zcoQycGFeg1GXruRJN8BhNGXW
gn1mLzVMYXZch8DRW4ucmSEzTSheq5PBFPjAgyZ2
acqA0AbdzZQc2bEw3PCGYk81rtOUpiWhMGhhttDH
FKy7660NDQuDvncWEfThO9wiFWd9j+4tCzaWhhkr
2kIpO8OX7SchXkFJpgqIQxcQUwRVdSQ1SDnUuT+/
UjxFDKZ2PZM8nWuynjltKWocOqrkfuLUUHO+swWv
OE5wXsRLlU2EgrILyEzc+N4m279NNoYHadkTR1Zk
xVOGA2HNgYdhrVFIf6R+7kr/rplawQltxTaUCsrA
7B5abpSbn6IG1MTLL3pSlLoGFGbkRwS9C+7G8+bX
yqx97qvJOsxsyJAT+jw0tyCTKoUdz5RABLZfxVbZ
Y1QC1cpklqFxKnjLhqSnTpdniC9Sm/sfxzIuy+el
6ZGV49flk62ilA1EhDY5OZp4Qz4qvaWgznjpFNIE
0nYicmOLwMaTGx7xTBkWikwpsr5Nzxyh2u1pZoQG
8tCCSkdYKCNdsRqfMCdkCat4HOxTD3TFUFgmGMbs
WYBaK1j84SaX+1CXL+E1UzypSN+6H/iUb6yBAL9i
fjStiQDGmgs8AOhB2y1jPMFcXqhhwxLQ4/XmRKN+
4D74tZPeB25Z6mtgaegVRod+hI+oiEt5h0023RSL
Jm2WxR+X9TwFqhXZBGoCmp9O3E4vf6iPwnCk7u3B
r3tiWMpAzGQULSCPhUrrrQipkJPbQc19EYcWfy2f
v8giDgwjiDUmRRDeR6W1grTVjANusRyLZIHStRP9
9ATROzJtKkYqTtRs/EZ/RRDw8yEF3jfrYU0vfZqW
W+lNWIGgIEcAd5WRzi4MfxGAkUqGwCcAVFBsNghN
YIKokGsUpK44SfhCEzysA/Qk4osiVq+uFHWrp1QJ
NjUbzA2rUAbo79kqmqgMvXR5BuIn3EErWmgHJ8Gv
Xv8k6CtNuzr0tc7xVHFvcbndX+N4O/57vLCcmysG
jxl0USIzGiO1u4MaTPyyTtSHYmus/uX17PH+iu/U
YsMxfN45N7WcUGXys7FB2Ld/gdXObVxvy21Zloc9
71YdR6DzWmaCtIjUu+9qH2giMZib0QOcKILTbFdw
gDahccxjwucU/wFxvUs5q0EAAA==

Reviewed By: @gabelevi

Differential Revision: D1229961
Differential Revision: D1230222
  • Loading branch information...
1 parent 2ce5e74 commit d50dd15bc34c60a4bcc02dc6bd95fdf32effc54b @jwatzman jwatzman committed with sgolemon Mar 19, 2014
Showing 2,643 changed files with 76,339 additions and 5 deletions.
View
@@ -0,0 +1,36 @@
+set(OCAMLC_FOUND FALSE)
+set(OCAMLC_OPT_SUFFIX "")
+
+if (NOT ${CMAKE_SYSTEM_NAME} MATCHES "Linux")
+ message(STATUS "Not on Linux, cannot build Hack typechecker")
+ return()
+endif()
+
+find_program(OCAMLC_EXECUTABLE ocamlc DOC "path to ocamlc")
+mark_as_advanced(OCAMLC_EXECUTABLE)
+
+if(OCAMLC_EXECUTABLE)
+ message(STATUS "Found ocamlc: ${OCAMLC_EXECUTABLE}")
+ execute_process(COMMAND ${OCAMLC_EXECUTABLE} -version
+ OUTPUT_VARIABLE OCAMLC_VERSION
+ OUTPUT_STRIP_TRAILING_WHITESPACE)
+ if ("${OCAMLC_VERSION}" VERSION_LESS "3.12")
+ message(STATUS "OCaml version ${OCAMLC_VERSION} is too old "
+ "to build the Hack typechecker, need at least 3.12")
+ else()
+ set(OCAMLC_FOUND TRUE)
+
+ find_program(OCAMLC_OPT_EXECUTABLE ocamlc.opt DOC "path to ocamlc.opt")
+ mark_as_advanced(OCAMLC_OPT_EXECUTABLE)
+
+ if (OCAMLC_OPT_EXECUTABLE)
+ message(STATUS "Found ocamlc.opt: ${OCAMLC_OPT_EXECUTABLE}")
+ set(OCAMLC_OPT_SUFFIX ".opt")
+ else()
+ message(STATUS "Could not find ocamlc.opt, "
+ "Hack typechecker build will be slow")
+ endif()
+ endif()
+else()
+ message(STATUS "OCaml not found, will not build Hack typechecker")
+endif()
View
@@ -36,17 +36,18 @@ if(ENABLE_FASTCGI)
add_subdirectory(third_party/thrift)
endif()
-add_subdirectory(vixl)
+add_subdirectory(compiler)
+add_subdirectory(hack)
+add_subdirectory(hhbbc)
add_subdirectory(neo)
add_subdirectory(parser)
-add_subdirectory(zend)
-add_subdirectory(util)
-add_subdirectory(hhbbc)
-add_subdirectory(compiler)
add_subdirectory(runtime)
add_subdirectory(runtime/ext_hhvm)
add_subdirectory(system)
+add_subdirectory(util)
+add_subdirectory(vixl)
+add_subdirectory(zend)
add_subdirectory(hhvm)
View
@@ -0,0 +1,18 @@
+test/more_tests/*.diff
+test/more_tests/*.out
+test/suggest/*.diff
+test/suggest/*.out
+bin/
+src/inotify-1.0/
+src/_build/
+src/parsing/parser.output
+src/parsing/lexer.ml
+src/parsing/lexer_hack.ml
+src/parsing/parser.ml
+src/parsing/parser.mli
+*.cm*
+*.o
+.depend
+*.so
+*.annot
+*.opt
@@ -0,0 +1,10 @@
+find_package(OCaml)
+
+if (OCAMLC_FOUND)
+ add_custom_target(
+ hack
+ ALL
+ COMMAND make depend && env OPTBIN="${OCAMLC_OPT_SUFFIX}" make
+ WORKING_DIRECTORY src
+ )
+endif()
View
@@ -0,0 +1,30 @@
+BSD License
+
+For Hack software
+
+Copyright (c) 2013, Facebook, Inc. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+* Redistributions of source code must retain the above copyright notice, this
+list of conditions and the following disclaimer.
+
+* Redistributions in binary form must reproduce the above copyright notice,
+this list of conditions and the following disclaimer in the documentation
+and/or other materials provided with the distribution.
+
+* Neither the name Facebook nor the names of its contributors may be used to
+endorse or promote products derived from this software without specific
+prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
View
@@ -0,0 +1,179 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 2.8
+
+# Default target executed when no arguments are given to make.
+default_target: all
+.PHONY : default_target
+
+#=============================================================================
+# Special targets provided by cmake.
+
+# Disable implicit rules so canonical targets will work.
+.SUFFIXES:
+
+# Remove some rules from gmake that .SUFFIXES does not remove.
+SUFFIXES =
+
+.SUFFIXES: .hpux_make_needs_suffix_list
+
+# Suppress display of executed commands.
+$(VERBOSE).SILENT:
+
+# A target that is always out of date.
+cmake_force:
+.PHONY : cmake_force
+
+#=============================================================================
+# Set environment variables for the build.
+
+# The shell in which to execute make rules.
+SHELL = /bin/sh
+
+# The CMake executable.
+CMAKE_COMMAND = /usr/bin/cmake
+
+# The command to remove a file.
+RM = /usr/bin/cmake -E remove -f
+
+# The top-level source directory on which CMake was run.
+CMAKE_SOURCE_DIR = /home/sgolemon/dev/hiphop-php
+
+# The top-level build directory on which CMake was run.
+CMAKE_BINARY_DIR = /home/sgolemon/dev/hiphop-php
+
+#=============================================================================
+# Targets provided globally by CMake.
+
+# Special rule for the target edit_cache
+edit_cache:
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running interactive CMake command-line interface..."
+ /usr/bin/cmake -i .
+.PHONY : edit_cache
+
+# Special rule for the target edit_cache
+edit_cache/fast: edit_cache
+.PHONY : edit_cache/fast
+
+# Special rule for the target install
+install: preinstall
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..."
+ /usr/bin/cmake -P cmake_install.cmake
+.PHONY : install
+
+# Special rule for the target install
+install/fast: preinstall/fast
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..."
+ /usr/bin/cmake -P cmake_install.cmake
+.PHONY : install/fast
+
+# Special rule for the target install/local
+install/local: preinstall
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..."
+ /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake
+.PHONY : install/local
+
+# Special rule for the target install/local
+install/local/fast: install/local
+.PHONY : install/local/fast
+
+# Special rule for the target install/strip
+install/strip: preinstall
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..."
+ /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake
+.PHONY : install/strip
+
+# Special rule for the target install/strip
+install/strip/fast: install/strip
+.PHONY : install/strip/fast
+
+# Special rule for the target list_install_components
+list_install_components:
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Available install components are: \"Unspecified\""
+.PHONY : list_install_components
+
+# Special rule for the target list_install_components
+list_install_components/fast: list_install_components
+.PHONY : list_install_components/fast
+
+# Special rule for the target rebuild_cache
+rebuild_cache:
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..."
+ /usr/bin/cmake -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
+.PHONY : rebuild_cache
+
+# Special rule for the target rebuild_cache
+rebuild_cache/fast: rebuild_cache
+.PHONY : rebuild_cache/fast
+
+# The main all target
+all: cmake_check_build_system
+ cd /home/sgolemon/dev/hiphop-php && $(CMAKE_COMMAND) -E cmake_progress_start /home/sgolemon/dev/hiphop-php/CMakeFiles /home/sgolemon/dev/hiphop-php/hphp/hack/CMakeFiles/progress.marks
+ cd /home/sgolemon/dev/hiphop-php && $(MAKE) -f CMakeFiles/Makefile2 hphp/hack/all
+ $(CMAKE_COMMAND) -E cmake_progress_start /home/sgolemon/dev/hiphop-php/CMakeFiles 0
+.PHONY : all
+
+# The main clean target
+clean:
+ cd /home/sgolemon/dev/hiphop-php && $(MAKE) -f CMakeFiles/Makefile2 hphp/hack/clean
+.PHONY : clean
+
+# The main clean target
+clean/fast: clean
+.PHONY : clean/fast
+
+# Prepare targets for installation.
+preinstall: all
+ cd /home/sgolemon/dev/hiphop-php && $(MAKE) -f CMakeFiles/Makefile2 hphp/hack/preinstall
+.PHONY : preinstall
+
+# Prepare targets for installation.
+preinstall/fast:
+ cd /home/sgolemon/dev/hiphop-php && $(MAKE) -f CMakeFiles/Makefile2 hphp/hack/preinstall
+.PHONY : preinstall/fast
+
+# clear depends
+depend:
+ cd /home/sgolemon/dev/hiphop-php && $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1
+.PHONY : depend
+
+# Convenience name for target.
+hphp/hack/CMakeFiles/hack.dir/rule:
+ cd /home/sgolemon/dev/hiphop-php && $(MAKE) -f CMakeFiles/Makefile2 hphp/hack/CMakeFiles/hack.dir/rule
+.PHONY : hphp/hack/CMakeFiles/hack.dir/rule
+
+# Convenience name for target.
+hack: hphp/hack/CMakeFiles/hack.dir/rule
+.PHONY : hack
+
+# fast build rule for target.
+hack/fast:
+ cd /home/sgolemon/dev/hiphop-php && $(MAKE) -f hphp/hack/CMakeFiles/hack.dir/build.make hphp/hack/CMakeFiles/hack.dir/build
+.PHONY : hack/fast
+
+# Help Target
+help:
+ @echo "The following are some of the valid targets for this Makefile:"
+ @echo "... all (the default if no target is provided)"
+ @echo "... clean"
+ @echo "... depend"
+ @echo "... edit_cache"
+ @echo "... hack"
+ @echo "... install"
+ @echo "... install/local"
+ @echo "... install/strip"
+ @echo "... list_install_components"
+ @echo "... rebuild_cache"
+.PHONY : help
+
+
+
+#=============================================================================
+# Special targets to cleanup operation of make.
+
+# Special rule to run CMake to check the build system integrity.
+# No rule that depends on this can have commands that come from listfiles
+# because they might be regenerated.
+cmake_check_build_system:
+ cd /home/sgolemon/dev/hiphop-php && $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0
+.PHONY : cmake_check_build_system
+
View
@@ -0,0 +1,23 @@
+Additional Grant of Patent Rights
+
+"Software" means the Hack software distributed by Facebook, Inc.
+
+Facebook hereby grants you a perpetual, worldwide, royalty-free, non-exclusive,
+irrevocable (subject to the termination provision below) license under any
+rights in any patent claims owned by Facebook, to make, have made, use, sell,
+offer to sell, import, and otherwise transfer the Software. For avoidance of
+doubt, no license is granted under Facebook's rights in any patent claims that
+are infringed by (i) modifications to the Software made by you or a third party,
+or (ii) the Software in combination with any software or other technology
+provided by you or a third party.
+
+The license granted hereunder will terminate, automatically and without notice,
+for anyone that makes any claim (including by filing any lawsuit, assertion or
+other action) alleging (a) direct, indirect, or contributory infringement or
+inducement to infringe any patent: (i) by Facebook or any of its subsidiaries or
+affiliates, whether or not such claim is related to the Software, (ii) by any
+party if such claim arises in whole or in part from any software, product or
+service of Facebook or any of its subsidiaries or affiliates, whether or not
+such claim is related to the Software, or (iii) by any party relating to the
+Software; or (b) that any right in any patent claim of Facebook is invalid or
+unenforceable.
View
@@ -0,0 +1,12 @@
+# What is Hack?
+
+Hack is a programming language for [HHVM](http://hhvm.com) that interoperates
+seamlessly with PHP. Hack reconciles the fast development cycle of PHP with the
+discipline provided by static typing, while adding many features commonly found
+in other modern programming languages.
+
+Hack provides instantaneous type checking via a local server that watches the
+filesystem. It typically runs in less than 200 milliseconds, making it easy to
+integrate into your development workflow without introducing a noticeable delay.
+
+For more information, see the [website](http://hacklang.org/).
@@ -0,0 +1 @@
+THE PLACE WHERE WE PUT THE BINARIES
@@ -0,0 +1,26 @@
+; Copyright (c) 2014, Facebook, Inc.
+; All rights reserved.
+;
+; This source code is licensed under the BSD-style license found in the
+; LICENSE file in the "hack" directory of this source tree. An additional grant
+; of patent rights can be found in the PATENTS file in the same directory.
+
+;; Setup the compile command
+(setq compile-command "hh_client")
+(global-set-key (kbd "M-RET") 'compile)
+
+(if (boundp 'hack-for-hiphop-root)
+ (setq compile-command (concat "hh_client --from emacs " hack-for-hiphop-root))
+
+ ;; Compute the path to www whenever a php file is opened
+ (add-hook 'php-mode-hook
+ (lambda()
+ (set (make-local-variable 'compile-command) (concat "hh_client "
+ (locate-dominating-file (file-truename (buffer-name)) ".hhconfig")))))
+)
+
+;; Shortcut keys
+(define-key input-decode-map "\e\eOA" [(meta up)])
+(define-key input-decode-map "\e\eOB" [(meta down)])
+(global-set-key [(meta up)] 'next-error)
+(global-set-key [(meta down)] 'previous-error)
@@ -0,0 +1 @@
+*.pyc
@@ -0,0 +1,13 @@
+Installation
+==============
+If you do not have a preferred installation method, I recommend installing
+[pathogen.vim](https://github.com/tpope/vim-pathogen), and then simply
+copy and paste:
+
+ cd ~/.vim/bundle && ln -s /usr/share/hhvm/hack/vim hack-vim
+
+(If you are using the source distribution instead of the binary distribution,
+adjust the path to the `vim` directory as needed.)
+
+Once help tags have been generated (using the Pathogen :Helptags command),
+you can read the manual with `:help hack`.
Oops, something went wrong.

0 comments on commit d50dd15

Please sign in to comment.