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...
jwatzman authored and sgolemon committed Mar 19, 2014
1 parent 2ce5e74 commit d50dd15bc34c60a4bcc02dc6bd95fdf32effc54b
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
View
@@ -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/).
View
@@ -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.